Cipta Pemasar Windows "MSI" menggunakan WiX part2
Pada mulanya
Kali terakhir, kami menyediakan fail yang diperlukan dan menyediakan projek. Kali ini, edit "Product.wxs" dan buat pelbagai tetapan pemasar.
Edit seting pemasangan (Product.wxs)
Kandungan fail Product.wxs diterangkan dalam format XML. Terdapat beberapa parameter, tetapi pertama kami akan membuat tetapan minimum untuk memastikan pemasang boleh dicipta. Jika anda ingin menyediakannya dengan lebih terperinci, sila rujuk artikel lain atau laman web rasmi.
Pada masa penciptaan projek, kod kelihatan 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 ialah beberapa perkara yang perlu anda ubah: Tambah tag dan atribut yang tidak wujud.
Wix / Produk / @Id
Tetapkan GUID yang mengenalpasti aplikasi.
Terdapat banyak alat untuk menjana GUID, tetapi cepat untuk menggunakan alat yang disertakan dengan Visual Studio. Pilih menu "Alatan" dan "Cipta GUID".
Dapatkan kod 36 digit, termasuk tanda semangkuk, dan tetapkannya kepada Wix / Produk / @Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix / Produk / @Name
Ini adalah nama aplikasi yang dipaparkan di setiap bahagian skrin pemasar. Ia juga boleh menjadi nama yang muncul dalam senarai Tambah dan Alih Keluar Program.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix / Produk / @Manufacturer
Masukkan nama pengilang. Ia muncul sebagai pengarang pemasar atau penerbit senarai atur cara.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix / Produk / UIRef / @Id
Masukkan ID yang mengenal pasti skrin apa untuk dipaparkan dalam pendeta pemasangan. Kali ini, kerana ia adalah konfigurasi minimum untuk memaparkan dan memasang hanya lesen, "WixUI_Minimal" ditentukan.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Saya fikir laman web berikut akan membantu dalam jenis penetapan yang boleh dilakukan.
Wix / Produk / WixVariable /*
Menentukan fail yang digunakan dalam UI pendeta. Konfigurasi minimum menggunakan tiga fail: Nilai id ditetapkan dan Nilai ialah nama fail.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Ikon aplikasi pemasangan
Ia digunakan untuk ikon aplikasi yang muncul dalam "Tambah dan Buang Atur Cara", dll.
Dalam "SumberFile" bagi elemen Ikon, tentukan fail ico sebagai laluan relatif dari folder projek.
"Property Id="ARPPRODUCTICON" adalah definisi perkaitan ikon.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix / Fragment (konfigurasi folder fail)
Tetapkan konfigurasi folder untuk dipasang. Pada asalnya, anda juga akan meletakkan fail, tetapi hanya mencipta folder terlebih dahulu.
Nilai "Nama" yang ditetapkan kepada "Id="ProgramMenuDir" adalah nama folder yang diletakkan dalam pintasan menu mula. Tetapkan 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>
Tambah fail pemasangan
Anda juga boleh menambahnya ke fail Product.wxs secara tangan. Oleh kerana GUID diperlukan untuk fail, sukar untuk bekerja dengan lebih banyak fail. Jadi, untuk menambah fail, gunakan WixEdit untuk menambahnya.
Lancarkan WixEdit.
Buka fail Product.wxs.
Pilih Fail daripada ikon di sebelah kiri. Hapuskan folder di bawah Folder Di bawah Lipatan Atur Cara.
Klik kanan pada folder Folder Fail dan pilih Import Folder.
Pilih folder di mana anda mahu memasang fail.
Satu set fail ditambah ke pepohon.
Untuk dikaitkan dengan parameter lain, pilih folder yang ditambah dan setkan "Id" kembali ke "INSTALLFOLDER".
Cipta pintasan untuk menu Mula. pilih "Baru" dan "Pintasan" dari menu klik kanan fail exe.
Apabila Pintasan ditambah, pilihnya dan klik kanan kosong untuk menambah sifat.
Tambah parameter berikut: (Tukar nama unik untuk dipadankan dengan atur cara itu.)
Nilai atribut | |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nama | Perbicaraan Saber Kecil |
Direktori | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Ikon | LITTLESAVIOR. ICO |
IconIndex | 0 |
Mengiklankan | Ya |
Kemudian pilih tab "Ciri", klik kanan pada "ProductFeature" dan pilih Pilih Komponen untuk ditambah.
Pilih semua.
Ditambah.
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>
Bina dan jalankan pengesahan
Buat konfigurasi penyelesaian "Lepaskan" dalam Visual Studio.
Mula membina daripada Bina Penyelesaian.
Apabila bangunan berjaya, fail msi dijana dalam folder "bin\Keluaran".
Jika anda cuba menjalankannya, pemasar akan bermula.
Apabila pemasangan selesai, pintasan akan dicipta dalam menu Mula.
Fail diletakkan dalam folder Fail Atur Cara (x86).
Aplikasi ini juga muncul dalam "Program dan Fungsi".
Jalankan aplikasi dan pastikan ia berfungsi dengan betul.
Ringkasan
Di sini kami telah menerangkan langkah-langkah untuk mencipta pemasang MSI menggunakan Visual Studio dan WiX. Saya ingin menerangkan tetapan terperinci dalam artikel yang berasingan.