Ustvarjanje programa Windows Installer "MSI" s storitvijo WiX part2
Sprva
Nazadnje smo pripravili potrebne datoteke in pripravili projekt. Tokrat uredite »Product.wxs« in naredite različne nastavitve namestitvenega programa.
Urejanje nastavitev namestitve (Product.wxs)
Vsebina datoteke Product.wxs je opisana v obliki XML. Obstaja več parametrov, vendar bomo najprej naredili minimalne nastavitve, da se prepričamo, da je mogoče namestitveni program ustvariti. Če ga želite podrobneje nastaviti, si oglejte drug članek ali uradno spletno stran.
V času ustvarjanja projekta je koda videti takole:
<?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>
Tukaj je nekaj stvari, ki jih morate spremeniti: Dodajte oznake in atribute, ki ne obstajajo.
Wix/Izdelek/@Id
Nastavite GUID, ki prepozna program.
Obstaja veliko orodij za ustvarjanje GUID- a, vendar je hitro uporabiti orodja, ki jih je mogoče uporabiti z Visual Studio. Izberite meni »Orodja« in »Ustvari GUID«.
Vzemite 36-mestno kodo, vključno z vezavnico, in jo nastavite na Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Izdelek/@Name
To je ime programa, prikazano na vsakem delu zaslona namestitvenega programa. To je lahko tudi ime, ki se prikaže na seznamu Dodaj in odstrani programe.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Izdelek/@Manufacturer
Vnesite ime proizvajalca. Prikaže se kot avtor namestitvenega programa ali založnik seznama programov.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Izdelek/UIRef/@Id
Vnesite ID, ki določa, kateri zaslon naj se prikaže v čarovniku za namestitev. Tokrat, ker je minimalna konfiguracija za prikaz in namestitev le licence, je navedena »WixUI_Minimal«.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Mislim, da bo naslednja stran v pomoč pri tem, kakšno označbe je mogoče narediti.
Uporaba nabora pogovornega okna WixUI
Wix/Izdelek/WixVariable/*
Določa datoteko, ki jo želite uporabiti v UI čarovnika. Najmanjša konfiguracija uporablja tri datoteke: Vrednost ID-ja je fiksna in vrednost je ime datoteke.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Ikona namestitvenega programa
Uporablja se za ikone aplikacije, ki se prikažejo v »Dodaj in odstrani programe« itd.
V »SourceFile« elementa ikone določite iko datoteko kot relativno pot iz mape projekta.
"Property Id="ARPPRODUCTICON" je definicija povezave ikone.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (konfiguracija mape datotek)
Nastavitev konfiguracije mape za namestitev. Prvotno boste tudi vneli datoteke, vendar najprej ustvarite samo mape.
Vrednost »Ime« nastavljena na »Id=«ProgramMenuDir« je ime mape, ki je bila v bližnjici začetnega menija. Nastavite tudi guids.
<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>
Dodajanje namestitvenih datotek
Datoteki Product.wxs jo lahko dodate tudi ročno. Ker je GUID potreben za datoteko, je težko delati z več datotekami. Če želite dodati datoteke, jih z WixEdito dodajte.
Izstreli WixEdit.
Odprite datoteko Product.wxs.
Izberite Datoteke na ikoni na levi. Izbrišite mape pod programFilesFolder.
Z desno tipko miške kliknite mapo ProgramFilesFolder in izberite Uvozi mapo.
Izberite mapo, v kateri želite namestiti datoteke.
Drevesu je dodan nabor datotek.
Če želite povezati z drugimi parametri, izberite dodano mapo in nastavite "ID" nazaj na "INSTALLFOLDER".
Ustvarite bližnjico za meni Start. izberite »Novo« in »Bližnjica« v meniju exe z desno tipko miške.
Ko je dodana bližnjica, jo izberite in z desno tipko miške kliknite prazno, da dodate lastnost.
Dodajte naslednje parametre: (Spremenite enolično ime, da se ujema s programom.)
Vrednostatributa | |
---|---|
Id | Malosaviortsko. EXE_shortcut |
Ime | Malo saber poskus |
Direktorij | ProgramMenuDir |
Delovnidirectory | INSTALLDIR |
Ikona | LittleSavior. ICO |
IconIndex | 0 |
Oglaševanje | Da |
Nato izberite zavihek »Funkcija«, z desno tipko miške kliknite »ProductFeature« in izberite Izberite komponente, ki jih želite dodati.
Izberi vse.
Dodano.
Shraniti.
Product.wxs bi moral izgledati nekaj takega:
<?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>
Potrditev gradnje in zagona
Konfiguracijo rešitve naredite »Release« v programu Visual Studio.
Začnite graditi iz rešitve Build.
Ko je zgradba uspešna, se v mapi »bin\Release« ustvari datoteka MSI.
Če ga poskusite zagnati, se bo namestitveni program zagnal.
Ko bo namestitev končana, bo v meniju Start ustvarjena bližnjica.
Datoteka je shranjena v mapi Program Files (x86).
Program se prikaže tudi v »Programi in funkcije«.
Zaženite aplikacijo in se prepričajte, da deluje pravilno.
Povzetek
Tukaj smo opisali korake za ustvarjanje MSI namestitvenega programa s programom Visual Studio in WiX. Rad bi pojasnil podrobne nastavitve v ločenem članku.