Creați un Windows Installer "MSI" utilizând WiX part2
La început
Ultima dată, am pregătit dosarele necesare și am configurat proiectul. De data aceasta, editați "Product.wxs" și faceți diverse setări ale programului de instalare.
Editarea setărilor de instalare (Product.wxs)
Conținutul fișierului Product.wxs sunt descrise în format XML. Există o serie de parametri, dar mai întâi vom face setările minime pentru a ne asigura că programul de instalare poate fi creat. Dacă doriți să-l configurați în detaliu, vă rugăm să consultați un alt articol sau site-ul oficial.
La momentul creării proiectului, codul arată astfel:
<?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>
Iată câteva lucruri pe care trebuie să le schimbi: Adăugați etichete și atribute care nu există.
Wix/Produs/@Id
Setați GUID-ul care identifică aplicația.
Există multe instrumente pentru a genera GUID, dar este rapid pentru a utiliza instrumentele care vin cu Visual Studio. Selectați meniul "Instrumente" și "Creare GUID".
Obțineți un cod de 36 de cifre, inclusiv o cratimă, și setați-l la Wix / Produs / @Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Produs/@Name
Acesta este numele aplicației afișat în fiecare parte a ecranului de instalare. De asemenea, poate fi numele care apare în lista Adăugare și eliminare programe.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Produs/@Manufacturer
Introduceți numele producătorului. Apare ca autor de instalare sau editor al listei de programe.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix /Produs / UIRef / @Id
Introduceți un ID care identifică ce ecran să afișeze în expertul de instalare. De data aceasta, deoarece este configurația minimă pentru a afișa și instala numai licența, este specificată "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Cred că următorul site va fi de ajutor în ce fel de desemnare se poate face.
Utilizarea setului de dialog WixUI
Wix/Produs/WixVariable/*
Specifică fișierul de utilizat în interfața cu utilizatorul a expertului. Configurația minimă utilizează trei fișiere: Valoarea ID-ului este fixă și Valoarea este numele fișierului.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Pictograma aplicației de instalare
Este folosit pentru pictogramele aplicației care apar în "Adăugare și eliminare programe" etc.
În "SourceFile" a elementului Icon, specificați fișierul ico ca o cale relativă din folderul de proiect.
"Property Id="ARPPRODUCTICON" este definiția de asociere a pictogramei.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (configurare folder fișier)
Setează configurația folderului de instalat. Inițial, veți plasa și fișiere, dar veți crea mai întâi numai foldere.
Valoarea "Nume" setată la "Id = "ProgramMenuDir" este numele folderului plasat în comanda rapidă din meniul start. Set guids, de asemenea.
<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>
Adăugarea fișierelor de instalare
De asemenea, îl puteți adăuga manual într-un fișier Product.wxs. Deoarece este necesar un GUID pentru un fișier, este dificil să lucrați cu mai multe fișiere. Deci, pentru a adăuga fișiere, utilizați WixEdit pentru a le adăuga.
Lansați WixModificare.
Deschideți fișierul Product.wxs.
Selectați Fișiere din pictograma din stânga. Ștergeți folderele de sub ProgramFilesFolder.
Faceți clic dreapta pe folderul ProgramFilesFolder și selectați Import folder.
Selectați folderul în care doriți să instalați fișierele.
Un set de fișiere este adăugat la arbore.
Pentru a se asocia cu alți parametri, selectați folderul adăugat și setați "Id" înapoi la "INSTALLFOLDER".
Creați o comandă rapidă pentru meniul Start. selectați "Nou" și "Comandă rapidă" din meniul cu clic dreapta al fișierului exe.
Când se adaugă Scurtătură, selectați-o și faceți clic dreapta pe martor pentru a adăuga proprietatea.
Adăugați următorii parametri: (Modificați numele unic pentru a se potrivi programului.)
Valoarea atributului | |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nume | Little Saber Proces |
Director | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Icoană | LITTLESAVIOR. ICO |
IconIndex | 0 |
Publicitate | Da |
Apoi selectați fila "Caracteristică", faceți clic dreapta pe "ProductFeature" și selectați Selectați componentele de adăugat.
Selectați toate.
Adăugat.
Salva.
Product.wxs ar trebui să arate ceva de genul asta:
<?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>
Construirea și rularea confirmării
Faceți configurația soluției "Lansare" în Visual Studio.
Începeți să construiți de la Build Solution.
Când clădirea are succes, un fișier msi este generat în folderul "bin\Release".
Dacă încercați să-l executați, programul de instalare va porni.
Când instalarea este finalizată, se va crea o comandă rapidă în meniul Start.
Fișierul este plasat în folderul Program Files (x86).
Aplicația apare, de asemenea, în "Programe și funcții".
Rulați aplicația și asigurați-vă că funcționează corect.
Rezumat
Aici am descris pașii pentru a crea un program de instalare MSI folosind Visual Studio și WiX. Aș dori să explice setările detaliate într-un articol separat.