Windows Installeri "MSI" loomine WiX part2 abil
Alguses
Viimati koostasime vajalikud failid ja seadistasime projekti. Seekord redigeerige "Product.wxs" ja tehke paigaldajale erinevaid seadeid.
Installisätete redigeerimine (Product.wxs)
Faili Product.wxs sisu kirjeldatakse XML-vormingus. Parameetreid on mitmeid, kuid kõigepealt teeme minimaalsed seaded veendumaks, et paigaldajat saab luua. Kui soovite seda üksikasjalikumalt seadistada, vaadake mõnda muud artiklit või ametlikku veebisaiti.
Projekti loomise ajal näeb kood välja selline:
<?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>
Siin on mõned asjad, mida peate muutma. Saate lisada silte ja atribuute, mida pole olemas.
Wix/Toode/@Id
Seadke rakendust tuvastav GUID.
GUID-i loomiseks on palju tööriistu, kuid Visual Studioga kaasas olevate tööriistade kasutamine on kiire. Valige menüü "Tööriistad" ja "Loo GUID".
Hankige 36-kohaline kood koos sidekriipsuga ja seadke selle väärtuseks Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Toode/@Name
See on rakenduse nimi, mis kuvatakse installeri ekraani igas osas. See võib olla ka nimi, mis kuvatakse loendis Programmide lisamine ja eemaldamine.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Toode/@Manufacturer
Sisestage tootja nimi. See kuvatakse installeri autorina või programmiloendi avaldajana.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Toode/UIRef/@Id
Sisestage ID, mis tuvastab installiviisardis kuvatava ekraani. Seekord, kuna see on minimaalne konfiguratsioon ainult litsentsi kuvamiseks ja installimiseks, on määratud "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Ma arvan, et järgmine sait on abiks, millist määramist saab teha.
WixUI dialoogikomplekti kasutamine
Wix/Toode/WixVariable/*
Määrab viisardi kasutajaliideses kasutatava faili. Minimaalne konfiguratsioon kasutab kolme faili: ID väärtus on fikseeritud ja väärtus on faili nimi.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Installirakenduse ikoon
Seda kasutatakse rakenduse ikoonide jaoks, mis ilmuvad jaotises "Programmide lisamine ja eemaldamine" jne.
Määrake ikoonielemendi "SourceFile" ico-fail projektikausta suhteliseks teeks.
"Atribuut Id="ARPPRODUCTICON" on ikooni seose määratlus.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (failikausta konfiguratsioon)
Seab installima kausta konfiguratsiooni. Algselt paigutate ka faile, kuid loote esmalt ainult kaustad.
"Nimi" väärtuseks on seatud "Id="ProgramMenuDir" on start-menüü otseteele paigutatud kausta nimi. Seadke ka GUID-id.
<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>
Installifailide lisamine
Selle saate lisada ka product.wxs faili käsitsi. Kuna faili jaoks on vaja GUID-i, on raske töötada rohkemate failidega. Failide lisamiseks kasutage nende lisamiseks WixEditi.
Käivitage WixEdit.
Avage fail Product.wxs.
Valige vasakul olevalt ikoonilt Failid. Kustutage kaustad programmi ProgramFilesFolder all.
Paremklõpsake kausta ProgramFilesFolder ja valige Impordi kaust.
Valige kaust, kuhu soovite failid installida.
Puule lisatakse failide kogum.
Teiste parameetritega seostamiseks valige lisatud kaust ja seadke "ID" tagasi "INSTALLFOLDER".
Saate luua menüü Start otsetee. valige exe-faili paremklõpsumenüüst "Uus" ja "Otsetee".
Otsetee lisamisel valige see ja paremklõpsake atribuudi lisamiseks tühja.
Lisage järgmised parameetrid: (Muutke programmile vastavat kordumatut nime.)
Atribuudi | väärtus |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nimi | Väike Saberi kohtuprotsess |
Kataloog | ProgrammMenuDir |
WorkingDirectory | INSTALLDIR |
Ikoon | VÄIKESAVIOR. ICO |
IconIndex | 0 |
Reklaamida | Jah |
Seejärel valige vahekaart "Funktsioon", paremklõpsake "ProductFeature" ja valige vali lisamiseks komponendid.
Valige kõik.
Lisatud.
Salvestama.
Product.wxs peaks välja nägema umbes selline:
<?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>
Koosta ja käivita kinnitus
Tehke Visual Studios lahenduse konfiguratsioon "Vabasta".
Alustage ehitamist ehituslahendusest.
Kui loomine õnnestub, luuakse msi-fail kaustas "bin\Release".
Kui proovite seda käivitada, käivitub installer.
Kui installimine on lõpule jõudnud, luuakse menüüs Start otsetee.
Fail paigutatakse kausta Programmifailid (x86).
Rakendus kuvatakse ka jaotises "Programmid ja funktsioonid".
Käivitage rakendus ja veenduge, et see töötab korralikult.
Kokkuvõte
Siin oleme kirjeldanud samme MSI installeri loomiseks Visual Studio ja WiX-i abil. Tahaksin selgitada üksikasjalikke seadeid eraldi artiklis.