Creare un "MSI" di Windows Installer utilizzando WiX part2
Dapprima
L'ultima volta, abbiamo preparato i file necessari e impostato il progetto. Questa volta, modifica "Product.wxs" e fai varie impostazioni del programma di installazione.
Modificare le impostazioni di installazione (Product.wxs)
Il contenuto del file Product.wxs è descritto in formato XML. Ci sono un certo numero di parametri, ma prima faremo le impostazioni minime per assicurarci che il programma di installazione possa essere creato. Se si desidera configurarlo in modo più dettagliato, fare riferimento a un altro articolo o al sito Web ufficiale.
Al momento della creazione del progetto, il codice è simile al 1 1:
<?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>
Ecco alcune cose che devi cambiare: Aggiungi tag e attributi che non esistono.
Wix/Prodotto/@Id
Impostare il GUID che identifica l'applicazione.
Esistono molti strumenti per generare GUID, ma è veloce usare gli strumenti disponibili con Visual Studio. Selezionare il menu "Strumenti" e "Crea GUID".
Ottieni un codice di 36 cifre, incluso un trattino, e impostalo su Wix/ Prodotto / @Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Prodotto/@Name
Questo è il nome dell'applicazione visualizzato in ogni parte della schermata del programma di installazione. Può anche essere il nome visualizzato nell'elenco Installazione applicazioni.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Prodotto/@Manufacturer
Immettere il nome del produttore. Viene visualizzato come l'autore del programma di installazione o l'autore dell'elenco dei programmi.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Prodotto/UIRef/@Id
Immettere un ID che identifichi la schermata da visualizzare nell'installazione guidata. Questa volta, poiché è la configurazione minima per visualizzare e installare solo la licenza, viene specificato "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Penso che il seguente sito sarà utile in che tipo di designazione può essere fatto.
Utilizzo del set di finestre di dialogo WixUI
Wix/Prodotto/WixVariable/*
Specifica il file da utilizzare nell'interfaccia utente della procedura guidata. La configurazione minima utilizza tre file: Il valore di id è fisso e Value è il nome del file.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Icona dell'applicazione di installazione
Viene utilizzato per le icone delle applicazioni che appaiono in "Installazione applicazioni", ecc.
Nel "SourceFile" dell'elemento Icon, specificare il file ICO come percorso relativo dalla cartella del progetto.
"Property Id="ARPPRODUCTICON" è la definizione di associazione dell'icona.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (configurazione della cartella dei file)
Imposta la configurazione della cartella da installare. Originariamente, inserirai anche i file, ma prima creerai solo le cartelle.
Il valore di "Name" impostato su "Id="ProgramMenuDir" è il nome della cartella inserita nel collegamento del menu di avvio. Imposta anche i guid.
<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>
Aggiungere file di installazione
È inoltre possibile aggiungerlo manualmente a un file Product.wxs. Poiché per un file è necessario un GUID, è difficile lavorare con più file. Quindi, per aggiungere file, usa WixEdit per aggiungerli.
Avvia WixEdit.
Aprire il file Product.wxs.
Seleziona File dall'icona a sinistra. Eliminare le cartelle sotto ProgramFilesFolder.
Fare clic con il pulsante destro del mouse sulla cartella ProgramFilesFolder e selezionare Importa cartella.
Selezionare la cartella in cui si desidera installare i file.
Un set di file viene aggiunto all'albero.
Per associare altri parametri, selezionare la cartella aggiunta e impostare "Id" su "INSTALLFOLDER".
Creare un collegamento per il menu Start. selezionare "Nuovo" e "Collegamento" dal menu di scelta rapida del file exe.
Quando viene aggiunto il collegamento, selezionarlo e fare clic con il pulsante destro del mouse sullo spazio vuoto per aggiungere la proprietà.
Aggiungere i seguenti parametri: Modificare il nome univoco in modo che corrisponda al programma.
Valore dell'attributo | |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nome | Prova di Little Saber |
Directory | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Icona | LITTLESAVIOR. ICO |
IconIndex | 0 |
Pubblicizzare | Sì |
Quindi selezionare la scheda "Funzionalità", fare clic con il pulsante destro del mouse su "ProductFeature" e selezionare Seleziona componenti da aggiungere.
Seleziona tutto.
Aggiunto.
Salvare.
Product.wxs dovrebbe essere simile al 1:
<?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>
Compilare ed eseguire la conferma
Effettuare la configurazione della soluzione "Release" in Visual Studio.
Inizia a creare da Build Solution.
Quando l'edificio ha esito positivo, viene generato un file MSI nella cartella "bin\Release".
Se si tenta di eseguirlo, verrà avviato il programma di installazione.
Al termine dell'installazione, verrà creato un collegamento nel menu Start.
Il file viene inserito nella cartella Programmi (x86).
L'applicazione appare anche in "Programmi e funzioni".
Esegui l'applicazione e assicurati che funzioni correttamente.
Sommario
Qui abbiamo descritto i passaggi per creare un programma di installazione MSI utilizzando Visual Studio e WiX. Vorrei spiegare le impostazioni dettagliate in un articolo separato.