Sukurkite "Windows Installer" "MSI" naudodami "WiX" 2 dalį
Iš pradžių
Paskutinį kartą mes paruošėme reikiamus failus ir sukūrėme projektą. Šį kartą redaguokite "Product.wxs" ir atlikite įvairius diegimo programos nustatymus.
Diegimo parametrų redagavimas (Product.wxs)
Product.wxs failo turinys aprašytas XML formatu. Yra keletas parametrų, tačiau pirmiausia padarysime minimalius nustatymus, kad įsitikintume, jog diegimo programa gali būti sukurta. Jei norite jį nustatyti išsamiau, skaitykite kitą straipsnį arba oficialią svetainę.
Projekto kūrimo metu kodas atrodo taip:
<?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>
Štai keletas dalykų, kuriuos reikia pakeisti: Įtraukite žymes ir atributus, kurių nėra.
Wix /Produktas/@Id
Nustatykite guidą, kuris identifikuoja taikomąją programą.
Yra daug įrankių GUID generuoti, tačiau greitai naudoti įrankius, kurie pateikiami su Visual Studio. Pasirinkite meniu "Įrankiai" ir "Sukurti GUID".
Gaukite 36 skaitmenų kodą, įskaitant brūkšnelį, ir nustatykite jį į Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix / Produktas / @Name
Tai programos pavadinimas, rodomas kiekvienoje diegimo programos ekrano dalyje. Tai taip pat gali būti pavadinimas, rodomas sąraše Pridėti ir šalinti programas.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix /Produktas/@Manufacturer
Įveskite gamintojo pavadinimą. Jis rodomas kaip diegimo programos autorius arba programų sąrašo leidėjas.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix / Produktas / UIRef / @Id
Įveskite ID, identifikuojantį, kokį ekraną rodyti diegimo vedlyje. Šį kartą, kadangi tai yra minimali konfigūracija rodyti ir įdiegti tik licenciją, nurodoma "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Manau, kad ši svetainė bus naudinga, kokios paskyrimo galima padaryti.
"WixUI" dialogo lango naudojimas
Wix/Produktas/WixVariable/*
Nurodo failą, kuris bus naudojamas vedlio vartotojo sąsajoje. Minimali konfigūracija naudoja tris failus: ID reikšmė yra fiksuota, o reikšmė yra failo vardas.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Diegimo programos piktograma
Jis naudojamas programų piktogramoms, kurios rodomos "Pridėti ir pašalinti programas" ir kt.
Piktogramos elemento "SourceFile" nurodykite ico failą kaip santykinį kelią iš projekto aplanko.
"Ypatybės ID="ARPPRODUCTICON" yra piktogramos susiejimo apibrėžimas.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (failo aplanko konfigūracija)
Nustato diegtinai aplanko konfigūraciją. Iš pradžių taip pat padėsite failus, bet pirmiausia sukursite tik aplankus.
Reikšmė "Pavadinimas" nustatyta kaip "Id = "ProgramMenuDir" yra aplanko pavadinimas dedamas į meniu Pradėti nuorodą. Nustatyti guids taip pat.
<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>
Diegimo failų įtraukimas
Taip pat galite pridėti jį prie Product.wxs failo ranka. Kadangi failui reikalingas GUID, sunku dirbti su daugiau failų. Taigi, norėdami pridėti failus, naudokite "WixEdit", kad juos pridėtumėte.
Paleiskite "WixEdit".
Atidarykite failą Product.wxs.
Kairėje pusėje esaoje piktogramoje pasirinkite Failai. Panaikinkite aplankus žemiau ProgramFilesFolder.
Dešiniuoju pelės mygtuku spustelėkite aplanką ProgramFilesFolder ir pasirinkite Importuoti aplanką.
Pasirinkite aplanką, kuriame norite įdiegti failus.
Failų rinkinys įtraukiamas į medį.
Norėdami susieti su kitais parametrais, pasirinkite pridėtą aplanką ir nustatykite "Id" atgal į "INSTALLFOLDER".
Sukurkite meniu Pradėti nuorodą. pasirinkite "Naujas" ir "Nuoroda" iš dešiniojo pelės mygtuko meniu exe failą.
Įtraukę nuorodą, pažymėkite ją ir dešiniuoju pelės mygtuku spustelėkite tuščią, kad įtrauktumėte ypatybę.
Įtraukite šiuos parametrus: (Pakeiskite unikalų pavadinimą, kad jis atitiktų programą.)
Atributo | vertė |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Vardas, pavadinimas | Little Saber teismo |
Katalogas | ProgramaMenuDir |
Darbokryptis | INSTALLDIR |
Ikona | LITTLESAVIOR. ICO |
IconIndex | 0 |
Reklamuoti | taip |
Tada pasirinkite skirtuką "Funkcija", dešiniuoju pelės mygtuku spustelėkite "ProductFeature" ir pasirinkite Pasirinkti komponentus, kad pridėtumėte.
Pažymėkite viską.
Pridėta.
Taupyti.
Product.wxs turėtų atrodyti maždaug taip:
<?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>
Kurti ir vykdyti patvirtinimą
Padarykite sprendimo konfigūraciją "Release" "Visual Studio".
Pradėkite kurti iš "Build Solution".
Kai pastatas bus sėkmingas, aplanke "bin\Release" bus sugeneruotas msi failas.
Jei bandysite jį paleisti, bus paleista diegimo programa.
Kai diegimas bus baigtas, meniu Pradėti bus sukurta nuoroda.
Failas dedamas į aplanką Programų failai (x86).
Programa taip pat rodoma "Programos ir funkcijos".
Paleiskite programą ir įsitikinkite, kad ji veikia tinkamai.
Suvestinė
Čia aprašėme MSI diegimo programos kūrimo veiksmus naudojant "Visual Studio" ir "WiX". Norėčiau paaiškinti išsamius nustatymus atskirame straipsnyje.