Membuat Penginstal Windows "MSI" menggunakan WiX part2
Pada awalnya
Terakhir kali, kami menyiapkan file yang diperlukan dan mengatur proyek. Kali ini, edit "Product.wxs" dan buat berbagai pengaturan installer.
Edit pengaturan instalasi (Product.wxs)
Isi file Product.wxs dijelaskan dalam format XML. Ada sejumlah parameter, tetapi pertama-tama kita akan membuat pengaturan minimum untuk memastikan bahwa installer dapat dibuat. Jika Anda ingin mengaturnya secara lebih rinci, silakan lihat artikel lain atau situs web resmi.
Pada saat pembuatan proyek, kode terlihat seperti ini:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupLittleSaviorTrial_x86" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
</ComponentGroup>
</Fragment>
</Wix>
Berikut adalah beberapa hal yang perlu Anda ubah: Tambahkan tag dan atribut yang tidak ada.
Wix/Produk/@Id
Atur GUID yang mengidentifikasi aplikasi.
Ada banyak alat untuk menghasilkan GUID, tetapi cepat menggunakan alat yang datang dengan Visual Studio. Pilih menu "Tools" dan "Create GUID".
Dapatkan kode 36 digit, termasuk tanda hubung, dan atur ke Wix / Produk / @Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Produk/@Name
Ini adalah nama aplikasi yang ditampilkan di setiap bagian layar installer. Ini juga bisa menjadi nama yang muncul dalam daftar Tambah dan Hapus Program.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Produk/@Manufacturer
Masukkan nama produsen. Ini muncul sebagai penulis installer atau penerbit daftar program.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Product/UIRef/@Id
Masukkan ID yang mengidentifikasi layar apa yang akan ditampilkan di wisaya instalasi. Kali ini, karena itu adalah konfigurasi minimum untuk menampilkan dan menginstal hanya lisensi, "WixUI_Minimal" ditentukan.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Saya pikir situs berikut akan membantu dalam penunjukan seperti apa yang dapat dilakukan.
Wix/Produk/WixVariable/*
Menentukan file yang akan digunakan di UI wizard. Konfigurasi minimum menggunakan tiga file: Nilai id tetap dan Nilai adalah nama file.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Ikon aplikasi instalasi
Ini digunakan untuk ikon aplikasi yang muncul di "Tambah dan Hapus Program", dll.
Dalam "SourceFile" elemen Ikon, tentukan file ico sebagai jalur relatif dari folder proyek.
"Id Properti = "ARPPRODUCTICON" adalah definisi asosiasi ikon.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (konfigurasi folder file)
Mengatur konfigurasi folder untuk diinstal. Awalnya, Anda juga akan menempatkan file, tetapi hanya membuat folder terlebih dahulu.
Nilai "Nama" yang diatur ke "Id="ProgramMenuDir" adalah nama folder yang ditempatkan di pintasan menu mulai. Atur panduan juga.
<Wix>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
Menambahkan berkas penginstalan
Anda juga dapat menambahkannya ke file Product.wxs dengan tangan. Karena GUID diperlukan untuk file, sulit untuk bekerja dengan lebih banyak file. Jadi, untuk menambahkan file, gunakan WixEdit untuk menambahkannya.
Luncurkan WixEdit.
Buka file Product.wxs.
Pilih File dari ikon di sebelah kiri. Hapus folder di bawah ProgramFilesFolder.
Klik kanan pada folder ProgramFilesFolder dan pilih Folder Impor.
Pilih folder tempat Anda ingin menginstal file.
Satu set file ditambahkan ke pohon.
Untuk mengaitkan dengan parameter lain, pilih folder yang ditambahkan dan atur "Id" kembali ke "INSTALLFOLDER".
Buat pintasan untuk menu Mulai. pilih "Baru" dan "Pintasan" dari menu klik kanan file exe.
Saat Pintasan ditambahkan, pilih dan klik kanan kosong untuk menambahkan properti.
Tambahkan parameter berikut: (Ubah nama unik agar sesuai dengan program.)
Nilai | atribut |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nama | Pengadilan Saber Kecil |
Direktori | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Ikon | LITTLESAVIOR. ICO |
IconIndex | 0 |
Memberi-tahu | Ya |
Kemudian pilih tab "Fitur", klik kanan "ProductFeature" dan pilih Pilih Komponen untuk ditambahkan.
Pilih semua.
Ditambahkan.
Simpan.
Product.wxs harus terlihat seperti ini:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" Name="リトルセイバー 体験版" Language="1033" Version="1.0.0.0" Manufacturer="ソーサリーフォース" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<UIRef Id="WixUI_Minimal" />
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="LITTLESAVIOR.ICO" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE.CONFIG" />
<ComponentRef Id="ProgramMenuDir" />
</Feature>
<UI />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
<Component Id="LITTLESAVIOR.ICO" DiskId="1" Guid="0B4DD82C-C6EF-4299-8EAB-4F9BB35FD952">
<File Id="LITTLESAVIOR.ICO" Name="LittleSavior.ico" Source="LittleSaviorTrial\LittleSavior.ico" />
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="8D805936-A25E-4DA6-9A0A-A5BDB2AD768D">
<File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
<Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="リトルセイバー 体験版" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
</File>
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE.CONFIG" DiskId="1" Guid="790C427A-A72C-4444-ACD6-ECF32AA788AD">
<File Id="LITTLESAVIORTRIAL.EXE.CONFIG" Name="LittleSaviorTrial.exe.config" Source="LittleSaviorTrial\LittleSaviorTrial.exe.config" />
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
</ComponentGroup>
</Fragment>
</Wix>
Membangun dan menjalankan konfirmasi
Buat konfigurasi solusi "Rilis" di Visual Studio.
Mulai membangun dari Build Solution.
Ketika bangunan berhasil, file msi dihasilkan dalam folder "bin\Release".
Jika Anda mencoba menjalankannya, installer akan mulai.
Ketika instalasi selesai, pintasan akan dibuat di menu Mulai.
File ditempatkan di folder File Program (x86).
Aplikasi ini juga muncul dalam "Program dan Fungsi".
Jalankan aplikasi dan pastikan itu berfungsi dengan baik.
Ringkasan
Di sini kami telah menjelaskan langkah-langkah untuk membuat installer MSI menggunakan Visual Studio dan WiX. Saya ingin menjelaskan pengaturan terperinci dalam artikel terpisah.