Membuat Penginstal Windows "MSI" menggunakan WiX part2

Tanggal pembuatan halaman :

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".

image

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="リトルセイバー 体験版" />

image

image

Wix/Produk/@Manufacturer

Masukkan nama produsen. Ini muncul sebagai penulis installer atau penerbit daftar program.

<Wix>
  <Product Manufacturer="ソーサリーフォース">

image

image

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.

Menggunakan set dialog WixUI

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.

image

Buka file Product.wxs.

image

image

Pilih File dari ikon di sebelah kiri. Hapus folder di bawah ProgramFilesFolder.

image

Klik kanan pada folder ProgramFilesFolder dan pilih Folder Impor.

image

Pilih folder tempat Anda ingin menginstal file.

image

Satu set file ditambahkan ke pohon.

image

Untuk mengaitkan dengan parameter lain, pilih folder yang ditambahkan dan atur "Id" kembali ke "INSTALLFOLDER".

image

Buat pintasan untuk menu Mulai. pilih "Baru" dan "Pintasan" dari menu klik kanan file exe.

image

Saat Pintasan ditambahkan, pilih dan klik kanan kosong untuk menambahkan properti.

image

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

image

Kemudian pilih tab "Fitur", klik kanan "ProductFeature" dan pilih Pilih Komponen untuk ditambahkan.

image

Pilih semua.

image

Ditambahkan.

image

Simpan.

image

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.

image

Mulai membangun dari Build Solution.

image

Ketika bangunan berhasil, file msi dihasilkan dalam folder "bin\Release".

image

Jika Anda mencoba menjalankannya, installer akan mulai.

image

Ketika instalasi selesai, pintasan akan dibuat di menu Mulai.

image

File ditempatkan di folder File Program (x86).

image

Aplikasi ini juga muncul dalam "Program dan Fungsi".

image

Jalankan aplikasi dan pastikan itu berfungsi dengan baik.

image

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.