WiX part2 kullanarak Windows Installer "MSI" oluşturma

Sayfa oluşturma tarihi :

İlk başta

En son gerekli dosyaları hazırlayıp projeyi kurduk. Bu kez, "Product.wxs" düzenleyin ve yükleyicinin çeşitli ayarlarını yapın.

Yükleme ayarlarını düzenleme (Product.wxs)

Product.wxs dosyasının içeriği XML biçiminde açıklanmıştır. Bir dizi parametre var, ancak önce yükleyicinin oluşturulabileceğinden emin olmak için minimum ayarları yapacağız. Daha ayrıntılı olarak ayarlamak istiyorsanız, lütfen başka bir makaleye veya resmi web sitesine bakın.

Proje oluşturuldukları sırada, kod şöyle görünür:

<?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>

Değiştirmeniz gereken bazı şeyler şunlardır: Varolmayan etiketler ve öznitelikler ekleyin.

Wix/Ürün/@Id

Uygulamayı tanımlayan GUID'i ayarlayın.

GUID oluşturmak için birçok araç vardır, ancak Visual Studio ile birlikte gelen araçları kullanmak hızlıdır. "Araçlar" ve "GUID Oluştur" menüsünü seçin.

image

Tire de dahil olmak üzere 36 basamaklı bir kod alın ve Wix/Ürün/@Id olarak ayarlayın.

<Wix>
  <Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />

Wix/Ürün/@Name

Bu, yükleyici ekranının her bölümünde görüntülenen uygulama adıdır. Program Ekle ve Kaldır listesinde görünen ad da olabilir.

<Wix>
  <Product Name="リトルセイバー 体験版" />

image

image

Wix/Ürün/@Manufacturer

Üreticinin adını girin. Yükleyici yazar veya program listesinin yayımcısı olarak görünür.

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

image

image

Wix/Ürün/UIRef/@Id

Yükleme sihirbazında hangi ekranın görüntüleneceğini tanımlayan bir kimlik girin. Bu kez, yalnızca lisansı görüntülemek ve yüklemek için en düşük yapılandırma olduğundan, "WixUI_Minimal" belirtilir.

<Wix>
  <Product>
    <UIRef Id="WixUI_Minimal" />

Aşağıdaki sitenin ne tür bir tanımlama yapılabileceği konusunda yardımcı olacağını düşünüyorum.

WixUI iletişim kutusunu kullanma

Wix/Ürün/WixVariable/*

Sihirbaz kullanıcı arabiriminde kullanılacak dosyayı belirtir. En düşük yapılandırma üç dosya kullanır: Kimliğin değeri sabittir ve Değer dosya adıdır.

<Wix>
  <Product>
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
    <WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />

Yükleme uygulaması simgesi

"Program Ekle ve Kaldır" vb.

Icon öğesinin "SourceFile" öğesinde, ico dosyasını proje klasöründen göreli bir yol olarak belirtin.

"Property Id="ARPPRODUCTICON" simgesinin ilişkilendiriliş tanımıdır.

<Wix>
  <Product>
    <Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
    <Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />

Wix/Fragment (dosya klasörü yapılandırması)

Yüklenecek klasör yapılandırmasını ayarlar. Başlangıçta, dosyaları da yerleştireceksiniz, ancak önce yalnızca klasörler oluşturacaksınız.

"Ad", "Id="ProgramMenuDir" olarak ayarlanmış değeri, başlat menüsü kısayolunda yerleştirilen klasörün adıdır. Guid'leri de ayarlayın.

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

Yükleme dosyaları ekleme

Product.wxs dosyasına elle de ekleyebilirsiniz. Bir dosya için GUID gerektiğinden, daha fazla dosyayla çalışmak zordur. Bu nedenle, dosya eklemek için WixEdit'i kullanarak ekleyin.

WixEdit'i başlatın.

image

Product.wxs dosyasını açın.

image

image

Soldaki simgeden Dosyalar'ı seçin. ProgramFilesFolder altındaki klasörleri silin.

image

ProgramFilesFolder klasörünü sağ tıklatın ve Klasörü İçeri Aktar'ı seçin.

image

Dosyaları yüklemek istediğiniz klasörü seçin.

image

Ağaca bir dosya kümesi eklenir.

image

Diğer parametrelerle ilişkilendirmek için eklenen klasörü seçin ve "Id"yi yeniden "INSTALLFOLDER" olarak ayarlayın.

image

Başlat menüsü için bir kısayol oluşturun. exe dosyasının sağ tıklattırı menüsünden "Yeni" ve "Kısayol"u seçin.

image

Kısayol eklendiğinde, seçin ve özelliği eklemek için boşluğu sağ tıklatın.

image

Aşağıdaki parametreleri ekleyin: (Benzersiz adı programla eşleşecek şekilde değiştirin.)

Öznitelik değeri
Kimliği KÜÇÜKSAVIORTRIAL. EXE_shortcut
Ad Küçük Kılıç Denemesi
Dizin ProgramMenuDir
WorkingDirectory INSTALLDIR
İkon KÜÇÜK KURTARıCı. ICO
IconIndex 0
Duyurmak evet

image

Ardından "Özellik" sekmesini seçin, "ProductFeature" ı sağ tıklatın ve eklenecek Bileşenleri Seç'i seçin.

image

Tümlerini seçin.

image

Eklendi.

image

Kurtarmak.

image

Product.wxs şöyle görünmelidir:

<?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>

Oluşturma ve çalıştırma onayı

Çözüm yapılandırmasını Visual Studio'da "Release" yapın.

image

Yapı Çözümü'nden oluşturmaya başlayın.

image

Bina başarılı olduğunda, "bin\Release" klasöründe bir msi dosyası oluşturulur.

image

Çalıştırmayı denerseniz, yükleyici başlatılır.

image

Yükleme tamamlandığında, Başlat menüsünde bir kısayol oluşturulur.

image

Dosya Program Dosyaları (x86) klasörüne yerleştirilir.

image

Uygulama ayrıca "Programlar ve İşlevler" de görünür.

image

Uygulamayı çalıştırın ve düzgün çalıştığından emin olun.

image

Özet

Burada Visual Studio ve WiX kullanarak bir MSI yükleyicisi oluşturma adımlarını anlattık. Ayrıntılı ayarları ayrı bir makalede açıklamak istiyorum.