Saya mencoba membuat aplikasi penyebaran yang terkompresi.
Saat ini saya sedang mengambil satu set file yang saya publikasikan dari IDE saya (Visual Studio 2008 - aplikasi WPF yang diterbitkan) dan mengompresnya dalam arsip SFX 7-Zip.
Pengguna saya bertanya apakah mereka dapat "menginstal satu klik" dari exe 7-Zip. Ada daftar parameter ketika saya membuat arsip. Apakah ada cara untuk mengatur semacam kombinasi parameter untuk memanggil executable installer yang diekstraksi?
Sayangnya dokumentasi 7-Zip sepertinya tidak mencakup skenario ini. Saya telah melihat beberapa aplikasi berbayar yang melakukan sesuatu yang mirip dengan ini, tetapi saya mencoba untuk menjaga alat yang saya tulis bebas dari kode berlisensi sehingga kita dapat menggunakannya secara internal.
sumber
Jawaban:
Anda harus mengunduh LMZA SDK dari 7-Zip . File "installer.txt" berisi dokumentasi:
Anda perlu membuat file config.txt.
Sebagai contoh:
sumber
Solusi yang disepakati itu benar, tetapi sebenarnya tidak membantu dalam menjelaskan apa yang sebenarnya perlu Anda lakukan !. Saya membaca ini dan banyak solusi lainnya dan saya tidak dapat menemukan petunjuk sederhana yang lengkap dan lengkap tentang cara melakukan ini.
Jika Anda bingung seperti dulu, baca posting blog saya yang memberikan petunjuk langkah demi langkah tentang cara mencapai apa yang telah diposting Molly7244.
Cara membuat arsip ekstraksi diri yang menjalankan setup.exe Anda dengan 7zip -sfx switch
Saya baru sadar bahwa tautan bisa mati, jadi ini langkah-langkahnya, dari blog saya
Langkah 1 - Atur folder instalasi Anda
Untuk mempermudah membuat folder c: \ Instal. Di sinilah kami akan menyalin semua file yang diperlukan.
Langkah 2 - 7Letakkan installer Anda
Langkah 3 - Dapatkan modul ekstensi 7z-Extra sfx
Anda perlu mengunduh 7z-Extra.
Langkah 4 - Atur config.txt Anda
Saya akan merekomendasikan menggunakan NotePad ++ untuk mengedit file teks ini karena Anda harus menyandikannya dalam UTF-8, instruksi berikut menggunakan notepad ++.
Masukkan sesuatu seperti ini:
Edit ini menggantikan [SOFTWARE v1.0.0.0] dengan nama produk Anda. Catatan tentang parameter dan opsi untuk file pengaturan ada di sini
Pos pemeriksaan
Anda sekarang harus memiliki folder "c: \ Install" dengan 3 file berikut:
Langkah 5 - Buat arsip
Instruksi ini saya temukan di web tetapi tidak menjelaskan 4 langkah di atas.
Di jendela perintah, ketikkan yang berikut ini
Lihat di c: \ Instal dan sekarang Anda akan melihat Anda memiliki MyInstaller.exe
Jalankan penginstal
Klik dua kali pada MyInstaller.exe dan akan muncul pesan Anda. Klik OK dan setup.exe akan berjalan.
Catatan PS tentang Otomasi
Sekarang setelah Anda menjalankan ini di direktori c: \ Install saya akan membuat file "Install.bat" dan memasukkan skrip salin di dalamnya.
Sekarang Anda bisa mengedit dan menjalankan Install.bat setiap kali Anda perlu membangun kembali versi baru paket penerapan Anda.
sumber
ExecuteParameters
item dalamconfig.txt
? Sebagai contoh:C:\Install\MyInstaller.exe some_file.txt
akan mengeksekusisetup.exe some_file.txt
.Anda juga harus melihat NSIS . Dengannya, Anda dapat membuat penginstal yang dikompresi dengan metode yang sama seperti yang digunakan 7-Zip ( LZMA ), sehingga ukurannya harus kira-kira sama, dan Anda memiliki kontrol penuh atas proses instalasi.
sumber
Membangun jawaban jcrawfor74, berikut adalah beberapa info tambahan:
Alih-alih 7zS.sfx , Anda juga dapat menggunakan file 7zS2.sfx . Ini adalah versi yang jauh lebih kecil (28 kB vs 140 kB) tetapi tidak mendukung file config.txt. Jadi Anda bisa membiarkannya di perintah copy. Jika Anda hanya ingin membuat skrip konfigurasi kecil, ini memungkinkan Anda membuat file EXE yang lebih kecil.
Modul SFX yang lebih kecil tidak menanyakan pertanyaan. Itu mengekstrak file ke folder sementara sebagai modul lain, dan kemudian menemukan kandidat yang dapat dieksekusi. Menurut kode sumber (juga tersedia di halaman unduhan), di C \ Util \ SfxSetup \ SfxSetup.c, ia menimbang file secara berbeda berdasarkan nama dan ekstensi mereka dan kemudian mengambil file skor tertinggi.
Kedua modul SFX secara otomatis dijalankan sebagai Administrator , setidaknya di Windows 10, dan ini tidak dapat dikonfigurasi. Meskipun perilaku ini mungkin diinginkan untuk pengaturan di seluruh sistem, ini mungkin tidak selalu demikian. Selain itu, keputusan ini hanya didasarkan pada data versi file karena tidak ada manifes yang disertakan yang secara eksplisit memberi tahu Windows apa yang harus dilakukan. Kompatibilitas Windows melihat file dan menemukan string seperti "Pengaturan" yang mengarah ke prompt elevasi.
Jika Anda memerlukan modul SFX yang tidak meminta izin Admin, Anda dapat membangun kembali modul SFX dari sumber, atau lebih sederhana, mengedit info versi file-nya dengan editor sumber daya seperti ini . Hapus saja kata "Pengaturan" dari bidang FileDescription, dalam kasus Resource Hacker yang disebutkan kompilasi file, dan simpan file EXE. Anda juga bisa melakukan langkah ini pada file 7zS.sfx atau 7zS2.sfx secara langsung dan menyimpannya di suatu tempat sehingga Anda dapat menggunakannya untuk membangun paket SFX yang tidak ditinggikan. Dan Anda dapat menggunakan ini untuk sepenuhnya menyesuaikan info versi file untuk memasukkan nama produk Anda atau apa pun di dalamnya yang menjelaskan muatan.
sumber