Oprette en Windows Installer "MSI" ved hjælp af WiX part2
Først
Sidste gang forberedte vi de nødvendige filer og oprettede projektet. Denne gang skal du redigere "Product.wxs" og foretage forskellige indstillinger for installationsprogrammet.
Rediger installationsindstillinger (Product.wxs)
Indholdet af filen Product.wxs er beskrevet i XML-format. Der er en række parametre, men først vil vi lave minimumindstillingerne for at sikre, at installationsprogrammet kan oprettes. Hvis du ønsker at sætte det op mere detaljeret, henvises til en anden artikel eller den officielle hjemmeside.
På tidspunktet for projektoprettelse ser koden sådan ud:
<?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>
Her er nogle ting, du skal ændre: Tilføj mærker og attributter, der ikke findes.
Wix/Produkt/@Id
Angiv det GUID, der identificerer programmet.
Der er mange værktøjer til at generere GUID, men det er hurtigt at bruge de værktøjer, der følger med Visual Studio. Vælg menuen "Funktioner" og "Opret GUID".
Få en 36-cifret kode, herunder en bindestreg, og indstil den til Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Produkt/@Name
Dette er det programnavn, der vises i hver del af installationsskærmen. Det kan også være det navn, der vises på listen Tilføj og fjern programmer.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Produkt/@Manufacturer
Angiv navnet på producenten. Det vises som installationsforfatteren eller udgiveren af programlisten.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Product/UIRef/@Id
Angiv et id, der identificerer, hvilket skærmbillede der skal vises i installationsguiden. Denne gang, da det er den mindste konfiguration til kun at vise og installere licensen, er "WixUI_Minimal" angivet.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Jeg tror, at følgende websted vil være nyttigt i, hvilken slags betegnelse kan gøres.
Wix/Produkt/WixVariable/*
Angiver den fil, der skal bruges i brugergrænsefladen i guiden. Den mindste konfiguration bruger tre filer: Id'ets værdi er fast, og værdien er filnavnet.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Ikonet Installationsprogram
Det bruges til programikoner, der vises i "Tilføj og fjern programmer" osv.
Angiv iCo-filen som en relativ sti fra projektmappen i "SourceFile" i ikonet.
"Property Id="ARPPRODUCTICON" er ikonets tilknytningsdefinition.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (konfiguration af filmappe)
Indstiller den mappekonfiguration, der skal installeres. Oprindeligt vil du også placere filer, men kun oprette mapper først.
Værdien "Navn" angivet til "Id="ProgramMenuDir" er navnet på den mappe, der er placeret i genvejsmenugenvejen. Indstil også GUID'er.
<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>
Tilføje installationsfiler
Du kan også føje den til en Product.wxs-fil manuelt. Da der kræves et GUID til en fil, er det svært at arbejde med flere filer. Så for at tilføje filer skal du bruge WixEdit til at tilføje dem.
Affyr WixEdit.
Åbn filen Product.wxs.
Vælg Filer fra ikonet til venstre. Slet mapperne under ProgramFilesFolder.
Højreklik på mappen ProgramFilesFolder, og vælg Importer mappe.
Vælg den mappe, hvor du vil installere filerne.
Der føjes et sæt filer til træet.
Hvis du vil knytte sig til andre parametre, skal du vælge den tilføjede mappe og angive "Id" tilbage til "INSTALLFOLDER".
Opret en genvej til menuen Start. Vælg "Ny" og "Genvej" i genvejsmenuen i exe-filen.
Når Genvej tilføjes, skal du markere den og højreklikke på det tomme for at tilføje egenskaben.
Tilføj følgende parametre: (Skift det entydige navn, så det svarer til programmet).
Attributværdi | |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Navn | Lille sabel retssag |
Mappe | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Ikon | LILLESAVIOR. ICO |
IconIndex | 0 |
Reklamere | Ja |
Vælg derefter fanen "Funktion", højreklik på "ProductFeature", og vælg Vælg komponenter, der skal tilføjes.
Marker alle.
Tilføjet.
Spare.
Product.wxs skal se nogenlunde sådan ud:
<?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>
Bekræftelse af Opbygning og kørsel
Gør løsningskonfigurationen "Release" i Visual Studio.
Begynd at bygge fra Build Solution.
Når bygningen lykkes, oprettes der en msi-fil i mappen "bin\Release".
Hvis du forsøger at køre det, starter installationsprogrammet.
Når installationen er fuldført, oprettes der en genvej i menuen Start.
Filen placeres i mappen Programmer (x86).
Programmet vises også i "Programmer og funktioner".
Kør programmet, og kontroller, at det fungerer korrekt.
Resumé
Her har vi beskrevet trinene til at oprette en MSI-installationer ved hjælp af Visual Studio og WiX. Jeg vil gerne forklare de detaljerede indstillinger i en separat artikel.