Windows Installer MSI:n luominen WiX-osan 2 avulla
Alun perin
Viimeksi valmistelimme tarvittavat tiedostot ja perustimme projektin. Muokkaa tällä kertaa "Product.wxs" ja tee asentajan eri asetuksia.
Asennusasetusten muokkaaminen (Product.wxs)
Product.wxs-tiedoston sisältö on kuvattu XML-muodossa. Parametreja on useita, mutta ensin teemme vähimmäisasetukset varmistaaksemme, että asennusohjelma voidaan luoda. Jos haluat määrittää sen tarkemmin, tutustu toiseen artikkeliin tai viralliseen verkkosivustoon.
Projektin luonnin aikana koodi näyttää tältä:
<?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>
Seuraavassa on joitakin asioita, joita sinun on muutettava: Lisää tunnisteita ja määritteitä, joita ei ole.
Wix/Tuote/@Id
Määritä sovelluksen yksilöivä GUID-tunnus.
GUID-tunnuksen luomiseen on monia työkaluja, mutta Visual Studion mukana tulee nopeasti käyttää työkaluja. Valitse valikko "Työkalut" ja "Luo GUID".
Hanki 36-numeroinen koodi, mukaan lukien yhdysmerkki, ja aseta sen arvoksi Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Tuote/@Name
Tämä sovelluksen nimi näkyy asennusohjelman näytön jokaisessa osassa. Se voi olla myös Nimi, joka näkyy Lisää ja poista sovellus -luettelossa.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Tuote/@Manufacturer
Kirjoita valmistajan nimi. Se näkyy asennusohjelman tekijänä tai ohjelmaluettelon julkaisijana.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Product/UIRef/@Id
Kirjoita tunnus, joka määrittää ohjatussa asennustoiminnossa näytettävän näytön. Tällä kertaa, koska se on vähimmäiskokoonpano vain käyttöoikeuden näyttämiseen ja asentamiseen, määritetään "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Uskon, että seuraava sivusto on hyödyllinen siinä, millainen nimitys voidaan tehdä.
Wix/Product/WixVariable/*
Määrittää ohjatun toiminnon käyttöliittymässä käytettävän tiedoston. Vähimmäiskokoonpano käyttää kolmea tiedostoa: Tunnuksen arvo on kiinteä ja arvo on tiedoston nimi.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Asennussovelluksen kuvake
Sitä käytetään sovelluskuvakkeille, jotka näkyvät "Lisää ja poista sovellus" jne.
Määritä Icon-elementin Lähdetiedosto-kentässä ico-tiedosto projektikansion suhteellinen polku.
"Property Id="ARPPRODUCTICON" on kuvakkeen liitosmääritys.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (tiedostokansion määritys)
Määrittää asennettavan kansion kokoonpanon. Alun perin sijoitat myös tiedostoja, mutta luot ensin vain kansioita.
"Name"-arvoksi on määritetty "Id="ProgramMenuDir" on käynnistysvalikon pikakuvakkeeseen sijoitetun kansion nimi. Aseta myös GUID-tunnukset.
<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>
Asennustiedostojen lisääminen
Voit myös lisätä sen Product.wxs-tiedostoon käsin. Koska tiedostoon tarvitaan GUID-tunnus, on vaikea työskennellä useampien tiedostojen kanssa. Joten voit lisätä tiedostoja WixEdit-näöllä lisätäksesi ne.
Käynnistä WixEdit.
Avaa Product.wxs-tiedosto.
Valitse vasemmalla olevasta kuvakkeesta Tiedostot. Poista ProgramFilesFolderin alla olevat kansiot.
Napsauta ProgramFilesFolder-kansiota hiiren kakkospainikkeella ja valitse Tuo kansio.
Valitse kansio, johon haluat asentaa tiedostot.
Puuhun lisätään joukko tiedostoja.
Jos haluat liittää muihin parametreihin, valitse lisätty kansio ja aseta "Id" takaisin "INSTALLFOLDER".
Luo Pikakuvake Käynnistä-valikkoon. valitse exe-tiedoston hiiren kakkospainikkeen valikosta "Uusi" ja "Pikakuvake".
Kun Pikakuvake on lisätty, valitse se ja lisää ominaisuus napsauttamalla tyhjää hiiren kakkospainikkeella.
Lisää seuraavat parametrit: (Muuta yksilöllinen nimi vastaamaan ohjelmaa.)
Määritteen | arvo |
---|---|
Henkilöllisyystodistus | PIKKUSAVIORTRIAL. EXE_shortcut |
Nimi | Pieni Saber-oikeudenkäynti |
Hakemisto | OhjelmaMenuDir |
WorkingDirectory-kansio | INSTALLDIR-TIEDOSTO |
Ikoni | PIKKUSAVIOR. ICO-koa |
IconIndex-kuvake | 0 |
Mainostaa | Kyllä |
Valitse sitten "Ominaisuus" -välilehti, napsauta hiiren kakkospainikkeella "ProductFeature" ja valitse Lisää Valitse komponentit.
Valitse kaikki.
Lisätty.
Säästää.
Product.wxs-tiedostossa pitäisi olla jotain tällaista:
<?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>
Luo ja suorita vahvistus
Tee ratkaisukokoonpanosta "Release" Visual Studiossa.
Aloita rakentaminen Build Solutionista.
Kun rakennus onnistuu, bin\Release-kansioon luodaan msi-tiedosto.
Jos yrität suorittaa sen, asennusohjelma käynnistyy.
Kun asennus on valmis, Käynnistä-valikkoon luodaan pikakuvake.
Tiedosto sijoitetaan Ohjelmatiedostot (x86) -kansioon.
Sovellus näkyy myös "Ohjelmat ja toiminnot".
Suorita sovellus ja varmista, että se toimii oikein.
Yhteenveto
Tässä on kuvattu vaiheet MSI-asentajan luomiseksi Visual Studion ja WiX: n avulla. Haluaisin selittää yksityiskohtaiset asetukset erillisessä artikkelissa.