Creare un "MSI" di Windows Installer utilizzando WiX part2

Data di creazione della pagina :

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".

image

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="リトルセイバー 体験版" />

image

image

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="ソーサリーフォース">

image

image

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.

image

Aprire il file Product.wxs.

image

image

Seleziona File dall'icona a sinistra. Eliminare le cartelle sotto ProgramFilesFolder.

image

Fare clic con il pulsante destro del mouse sulla cartella ProgramFilesFolder e selezionare Importa cartella.

image

Selezionare la cartella in cui si desidera installare i file.

image

Un set di file viene aggiunto all'albero.

image

Per associare altri parametri, selezionare la cartella aggiunta e impostare "Id" su "INSTALLFOLDER".

image

Creare un collegamento per il menu Start. selezionare "Nuovo" e "Collegamento" dal menu di scelta rapida del file exe.

image

Quando viene aggiunto il collegamento, selezionarlo e fare clic con il pulsante destro del mouse sullo spazio vuoto per aggiungere la proprietà.

image

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

image

Quindi selezionare la scheda "Funzionalità", fare clic con il pulsante destro del mouse su "ProductFeature" e selezionare Seleziona componenti da aggiungere.

image

Seleziona tutto.

image

Aggiunto.

image

Salvare.

image

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.

image

Inizia a creare da Build Solution.

image

Quando l'edificio ha esito positivo, viene generato un file MSI nella cartella "bin\Release".

image

Se si tenta di eseguirlo, verrà avviato il programma di installazione.

image

Al termine dell'installazione, verrà creato un collegamento nel menu Start.

image

Il file viene inserito nella cartella Programmi (x86).

image

L'applicazione appare anche in "Programmi e funzioni".

image

Esegui l'applicazione e assicurati che funzioni correttamente.

image

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.