Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3956|Jawab: 6

NSIS (1) Buat penginstal sederhana

[Salin tautan]
Diposting pada 28/01/2024 09.42.28 | | | |
Persyaratan: Mengembangkan aplikasi menggunakan Winform, dan ingin membuat penginstal untuk menginstal dan menjalankan aplikasi ini, menunjukkan bahwa produk tersebut lebih formal.

Pengantar NSIS

NSIS (Nullsoft Scriptable Install System) adalah sistem sumber terbuka profesional untuk membuat penginstal Windows. Ini dirancang sekecil dan sefleksibel mungkin, menjadikannya ideal untuk distribusi internet.

Sebagai pengalaman pertama pengguna dengan suatu produk, penginstal yang stabil dan andal adalah bagian penting dari perangkat lunak yang sukses. Dengan NSIS, Anda dapat membuat penginstal yang mampu melakukan semua operasi yang diperlukan untuk menginstal perangkat lunak.

NSIS berbasis skrip, memungkinkan Anda membuat logika untuk menangani tugas penginstalan yang paling kompleks. Banyak plugin dan skrip sudah tersedia: Anda dapat membuat penginstal web, berkomunikasi dengan Windows dan komponen perangkat lunak lainnya, menginstal atau memperbarui komponen bersama, dan banyak lagi.


Unduh NSIS:

Login hyperlink terlihat.
Login hyperlink terlihat.

Plugin NSIS:Login hyperlink terlihat.

Unduhan HM NIS EDIT:

Login hyperlink terlihat.
Login hyperlink terlihat.

HM NIS EDIT: Editor NSIS/IDE Gratis: HM NIS Edit adalah editor/IDE terbaik untuk Nullsoft Script Installation System (NSIS). Ini sangat berguna bagi para ahli dan pemula yang menggunakan NSIS untuk membuat penginstal. Wizard skripnya akan membantu Anda membuat penginstal standar hanya dengan beberapa klik, dan perancang InstallOptions-nya akan membantu Anda membuat halaman khusus Anda sendiri dengan antarmuka seret dan lepas yang ramah.

Unduh dan instal

Unduh perangkat lunak NSIS dan HM NIS EDIT, instal NSIS terlebih dahulu, lalu instal HM NIS EDIT, seperti yang ditunjukkan di bawah ini:



Buat paket instalasi

Buat aplikasi Winform baru, gunakan alat IDE untuk membuat aplikasi Winform baru dari .NET framework 4.7.2 (dihilangkan), kompilasi, dan gunakan NSIS untuk membuat paket instalasi.

Buka alat HM NIS EDIT dan pilih File-> New Script: Wizard, seperti yang ditunjukkan di bawah ini:



Sesuaikan informasi aplikasi sesuai dengan situasi aktual Anda, seperti yang ditunjukkan pada gambar di bawah ini:



Hapus centang "Bahasa Inggris" dan pilih "Mandarin Sederhana" seperti yang ditunjukkan pada gambar berikut:



Atur jalur file otorisasi seperti yang ditunjukkan pada gambar berikut:



Tentukan file aplikasi, hapus konfigurasi yang ada, lalu tambahkan direktori aplikasi kami seperti yang ditunjukkan pada gambar di bawah ini:




Klik Berikutnya, seperti yang ditunjukkan di bawah ini:



Silakan isi program, parameter, dan laporan diri sesuai dengan situasi Anda sendiri, seperti yang ditunjukkan pada gambar di bawah ini:



Copot pemasangan konfigurasi program seperti yang ditunjukkan pada gambar berikut:



Langkah terakhir adalah menyimpannya sebagai skrip test.nsi untuk kompilasi berikutnya, seperti yang ditunjukkan di bawah ini:



Kompilasi skrip dan hasilkan paket instalasi seperti yang ditunjukkan pada gambar di bawah ini:



Lampirkan kode test.nsi:

(Akhir)





Mantan:Jelajahi topik di Ekstensi Responsif Reaktif .Net
Depan:NSIS (ii) mutex menjamin bahwa hanya satu penginstal yang berjalan
 Tuan tanah| Diposting pada 28/01/2024 10.09.14 |

fungsiarti
BagianFungsi paling dasar mewakili departemen, digunakan untuk mewakili komponen yang perlu diinstal, isi bagian adalah bagian terakhir dari program yang akan dijalankan kecuali untuk menghapus pemasangan, tetapi akan menjadi yang pertama diperiksa saat mengkompilasi, jika tidak ada bagian atau fungsi dalam program, kompilasi akan dihentikan, dan blok kode di bagian perlu diindentasi menjadi 2 spasi
FungsiFungsi yang dieksekusi juga perlu diindentasi, nama fungsinya akan dikenali, jika diakui sebagai nama khusus, itu akan dilakukan dalam keadaan tertentu, yang akan dijelaskan di bawah ini
Bagian AkhirMenunjukkan akhir departemen, tidak diindentasi di dalam bagian
Fungsi AkhirMenunjukkan akhir fungsi, sama seperti di atas
SetKompresorAtur algoritma kompresi, parameter berikut adalah algoritma kompresi di wizard, penggunaan padat /SOLID sebagai awalan, misalnya, algoritma lzma padat ditulis sebagai /SOLID lzma
SetKompresorAtur ukuran volume terkompresi, diikuti dengan angka, dan biasanya tidak masalah jika Anda tidak menulisnya
File KeluarTentukan jalur paket instalasi yang dikompilasi (jalur paket instalasi di masa mendatang, bukan folder mana yang akan dimasukkan)
NamaAtur nama produk, biasanya nama aplikasi + versi aplikasi yang ditulis pada langkah pertama wizard
Instal DirMewakili jalur penginstalan default, yang diisi di baris pertama langkah keempat wizard, yang menentukan nilai $INSTDIR
TampilInstDetailParameternya tidak sederhana benar dan salah, tetapi tampilkan, sembunyikan dan tidak pernah ditampilkan, yang menunjukkan bahwa detail ditampilkan secara otomatis, tombol pengguna menampilkan detailnya, dan detail instalasi tidak diizinkan untuk dilihat
Tampilkan UnInstDetailMenunjukkan apakah detail penghapusan instalasi ditampilkan, dan parameternya sama seperti di atas
BrandingTextMenampilkan informasi di bagian bawah paket instalasi, yaitu baris terakhir teks kustom pada langkah pertama wizard, yang dapat menerima dua parameter, satu adalah teks yang akan ditampilkan, dan parameter opsional adalah /TRIM, yang dapat menentukan arah perataan teks (LEFT, RIGHT atau CENTER, defaultnya adalah LEFT, /TRIMLEFT, /TRIMRIGHT atau /TRIMCENTER harus ditulis, tanpa pemisahan di antaranya)
SetOutPathItu hanya dapat ditulis pada baris pertama Bagian, yang menentukan lokasi penginstalan komponen yang diwakili oleh Bagian, berbeda dari InstallDir, SetOutPath memungkinkan komponen yang berbeda untuk diinstal di subdirektori yang berbeda dari direktori instalasi total, disarankan untuk mengaturnya ke folder $INSTDIR\ dengan nama komponen (atau jika komponennya saling bergantung, Anda dapat menyesuaikan jalur komponen secara terpisah)
AturOverwriteItu hanya dapat ditulis di Bagian, yang digunakan untuk mengatur apakah akan menimpa saat diinstal, dan parameter dapat diatur untuk selalu menimpa (aktif), tidak pernah menimpa (mati), menimpa saat lebih baru (ifnewer), menimpa ketika konten file berbeda (ifdiff) dan mencoba menimpa (coba), sesuai dengan langkah kelima wizard > mengedit item direktori
ArsipIni hanya dapat ditulis di Bagian, yang berarti bahwa Bagian berisi dan mengemas file, dan parameter pelepasan /r mewakili file dan folder yang berisi subdirektori, dan langkah-langkah wizard yang sesuai sama seperti di atas. /x digunakan untuk mengecualikan file, Anda dapat menulis /x "*.ico" "xxx\*", yang berarti mengecualikan file ICO dan mengecualikan semua file di subdirektori xxx, sesuai dengan langkah 5 wizard
CreateDictionaryBuat folder diikuti dengan jalur lengkap atau relatif folder
BuatPintasanBuat pintasan, yang pertama adalah jalur pintasan (akhiran .lnk), dan yang kedua adalah jalur pintasan ke file, sesuai dengan bagian bawah langkah 6 wizard
WriteUninstallerBuat uninstaller diikuti dengan nama jalur uninstaller
TulisRegStrTulis ke registri, yang umumnya tidak perlu diubah, cukup ikuti wizard untuk menghasilkan
MenghapusBiasanya di bagian uninstall, hapus satu file, diikuti dengan jalur file yang dihapus, karena ini adalah satu file, Anda tidak dapat menambahkan /r
RMDirBiasanya di bagian uninstall, hapus direktori dan semua file di direktori, diikuti dengan jalur direktori yang dihapus, yang pertama umumnya perlu menambahkan /r secara manual, wizard tidak menambahkannya kepada Anda, jika Anda tidak menambahkannya, itu akan menghapus residu, yang terbaik adalah menulis perintah ini sekali untuk setiap subdirektori, Anda harus menambahkan /r, dan akhirnya menghapus direktori umum RMDir "$INSTDIR"
HapusRegKeyUntuk menghapus informasi registri, Anda umumnya dapat mengikuti wizard untuk membuatnya
Atur OtomatisTutupItu hanya dapat ditulis di Bagian, menunjukkan apakah itu akan secara otomatis melompat ke antarmuka penyelesaian setelah instalasi selesai, dengan parameter benar dan salah
Jendela Tutup OtomatisSepertinya tidak berpengaruh, fungsinya tampaknya sama dengan yang sebelumnya, tetapi dapat ditulis di luar bagian, dan parameternya sama seperti di atas
Kotak pesanKotak pesan hanya dapat ditulis di Bagian atau Fungsi, ada banyak parameter, termasuk informasi tampilan, tampilkan peringatan, tanya ya tidak, minta okcancelretry, dll., masuk ke Kotak Pesan di VNISEdit untuk mendapatkan daftar semua parameter, lalu hubungkan konten yang ditampilkan di kotak pesan
Gagalmemblokir, menunggu pengguna menjawab
Sembunyikan JendelaJendela tersembunyi, biasanya digunakan untuk menghapus Bagian, uninstaller menghapus dirinya sendiri terlebih dahulu, kemudian menghapus file lain (ya, program masih berjalan), dan secara otomatis menutup jendela setelah dihapus


 Tuan tanah| Diposting pada 28/01/2024 11.07.28 |
Fungsi Panggilan Balik

Fungsi callback saat instalasi

.onGUIInit
.onInit
.onGUIEnd
.onRebootGagal
.onSelChange
.onUserAbort
.onVerifyInstDir

Fungsi callback saat menghapus instalan

un.onGUIInit
un.onInit
un.onUninstFailed
un.onUninstSuccess
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Rinciannya adalah sebagai berikut:

onGUIInit:
Callback akan dipanggil sebelum halaman pertama dimuat dan dialog penginstal ditampilkan, memungkinkan Anda menyesuaikan antarmuka pengguna.

onInit:
Callback ini akan dipanggil saat penginstal hampir menyelesaikan inisialisasi. Jika fungsi .onInit memanggil Abort, penginstal segera keluar.

onInstFailed:
Fungsi callback ini dipanggil ketika pengguna mengklik tombol "batal" setelah kegagalan penginstalan (jika penginstal tidak dapat melepaskan file apa pun, atau jika skrip instalasi menggunakan perintah Abort).

onInstSuccess:
Callback dipanggil sebelum penginstalan berhasil dan jendela penginstalan ditutup (jika AutoCloseWindow atau SetAutoClose diatur ke false, mungkin setelah pengguna mengklik "Tutup").

diGUIEnd:
Callback dipanggil tepat setelah jendela penginstal ditutup. Gunakan untuk merilis plugin apa pun yang terkait dengan antarmuka pengguna bila diperlukan.

Bagian Atas Mouse:
Callback dipanggil setiap kali mouse bergerak di atas kotak pilihan bagian hierarkis. Ini memungkinkan Anda untuk mengatur deskripsi sampel untuk setiap segmen. ID segmen saat ini tempat mouse berlokasi telah disimpan sementara pada $0.

onRebootGagal:
Fungsi callback ini dipanggil saat instruksi Reboot gagal. WriteUninstaller, plug-in, File, dan WriteRegBin tidak dapat digunakan untuk fungsi callback ini.

onSelChange:
Dipanggil saat opsi halaman pemilihan komponen diubah. Biasa digunakan untuk menggunakan SectionSetFlags dan SectionGetFlags.

onUserAbort:
Panggilan balik ini dipanggil ketika pengguna mengklik tombol "batal" dan penginstalan belum gagal. Jika fungsi memanggil Abort, instalasi tidak akan keluar.

onVerifyInstDir:
Callback ini memungkinkan penginstal Anda untuk mengontrol apakah jalur penginstalan valid atau tidak. Kode ini dipanggil sekali setiap kali pengguna mengubah jalur penginstalan. Jika fungsi memanggil Abort, jalur ke $INSTDIR dianggap tidak valid.

PBB. GUIInit:
Callback akan dipanggil sebelum halaman pertama dimuat dan dialog Uninstaller ditampilkan, memungkinkan Anda menyesuaikan antarmuka uninstaller.

un.onInit:
Callback ini akan dipanggil saat uninstaller hampir menyelesaikan inisialisasi. Jika fungsi un.onInit menggunakan Abort, uninstaller segera keluar. Catatan: Fungsi dapat memvalidasi dan/atau memodifikasi $INSTDIR jika diperlukan.

un.onUninstFailed:
Fungsi callback ini dipanggil ketika pengguna mengklik tombol "Batal" setelah uninstall gagal (jika perintah Abort atau perintah gagal lainnya digunakan).

un.onUninstSuccess:
Callback dipanggil sebelum penghapusan instalasi berhasil dan menutup jendela uninstaller dengan benar (mungkin setelah pengguna mengklik "tutup" jika SetAutoClose diatur ke false).

un.onGUIEnd:
Callback dipanggil tepat setelah jendela uninstaller ditutup. Gunakan untuk merilis plugin apa pun yang terkait dengan antarmuka pengguna bila diperlukan.

un.onRebootFailed:
Fungsi callback ini dipanggil saat instruksi Reboot gagal. WriteUninstaller, plug-in, File, dan WriteRegBin tidak dapat digunakan untuk fungsi callback ini.

un.onUserAbort:
Callback ini dipanggil ketika pengguna mengklik tombol "Batal" dan penghapusan instalan tidak gagal. Jika fungsi memanggil Abort, uninstaller tidak akan keluar.

 Tuan tanah| Diposting pada 28/01/2024 12.07.23 |
Panggilan harus digunakan dengan nama fungsi yang dimulai dengan "un." di bagian uninstall.
Usage: Call function_name | [:label_name]


NSIS memiliki kondisi penamaan - fungsi yang dipanggil dari uninstaller harus memiliki awalan dalam nama "un".

Solusinya adalah sebagai berikut:

Referensi:

Login hyperlink terlihat.
Login hyperlink terlihat.

 Tuan tanah| Diposting pada 28/01/2024 15.10.07 |
 Tuan tanah| Diposting pada 09/05/2024 09.46.16 |
Advanced Installer adalah pembuat paket instalasi MSI yang kuat yang menghasilkan Penginstal Windows Bersertifikat MS Windows dengan antarmuka pengguna grafis yang ramah pengguna, antarmuka yang intuitif dan sangat sederhana, menjadikannya penulis Windows Installer yang baik.
 Tuan tanah| Diposting pada 21/02/2025 17.36.44 |
Inno Setup adalah penginstal program Windows gratis yang dikembangkan oleh Jordan Russell dan Martijn Laan. Inno Setup pertama kali diluncurkan pada tahun 1997 dan saat ini menyaingi dan bahkan melampaui banyak pemasang komersial dalam hal set fitur dan stabilitas.

Situs web:Login hyperlink terlihat.

Kasus: Aplikasi Windows Ollama,Login hyperlink terlihat.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com