WiX part2 kullanarak Windows Installer "MSI" oluşturma
İ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.
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="リトルセイバー 体験版" />
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="ソーサリーフォース">
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.
Product.wxs dosyasını açın.
Soldaki simgeden Dosyalar'ı seçin. ProgramFilesFolder altındaki klasörleri silin.
ProgramFilesFolder klasörünü sağ tıklatın ve Klasörü İçeri Aktar'ı seçin.
Dosyaları yüklemek istediğiniz klasörü seçin.
Ağaca bir dosya kümesi eklenir.
Diğer parametrelerle ilişkilendirmek için eklenen klasörü seçin ve "Id"yi yeniden "INSTALLFOLDER" olarak ayarlayın.
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.
Kısayol eklendiğinde, seçin ve özelliği eklemek için boşluğu sağ tıklatın.
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 |
Ardından "Özellik" sekmesini seçin, "ProductFeature" ı sağ tıklatın ve eklenecek Bileşenleri Seç'i seçin.
Tümlerini seçin.
Eklendi.
Kurtarmak.
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.
Yapı Çözümü'nden oluşturmaya başlayın.
Bina başarılı olduğunda, "bin\Release" klasöründe bir msi dosyası oluşturulur.
Çalıştırmayı denerseniz, yükleyici başlatılır.
Yükleme tamamlandığında, Başlat menüsünde bir kısayol oluşturulur.
Dosya Program Dosyaları (x86) klasörüne yerleştirilir.
Uygulama ayrıca "Programlar ve İşlevler" de görünür.
Uygulamayı çalıştırın ve düzgün çalıştığından emin olun.
Ö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.