Vytvorenie inštalátora systému Windows "MSI" pomocou časti WiX2

Dátum vytvorenia strany :

Najskôr

Naposledy sme pripravili potrebné súbory a nastavili projekt. Tentokrát upravte "Product.wxs" a vykonajte rôzne nastavenia inštalátora.

Úprava nastavení inštalácie (Product.wxs)

Obsah súboru Product.wxs je popísaný vo formáte XML. Existuje niekoľko parametrov, ale najprv vykonáme minimálne nastavenia, aby sme sa uistili, že inštalátor môže byť vytvorený. Ak ho chcete nastaviť podrobnejšie, pozrite si iný článok alebo oficiálnu webovú stránku.

V čase vytvorenia projektu vyzerá kód takto:

<?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>

Tu je niekoľko vecí, ktoré musíte zmeniť: Pridajte značky a atribúty, ktoré neexistujú.

Wix/Produkt/@Id

Nastavte identifikátor GUID, ktorý identifikuje aplikáciu.

Existuje mnoho nástrojov na generovanie identifikátora GUID, ale je rýchle použiť nástroje, ktoré sú k dispozícii s Visual Studio. Vyberte menu "Nástroje" a "Vytvoriť identifikátor GUID".

image

Získajte 36-miestny kód vrátane spojovníka a nastavte ho na položku Wix/Product/@Id.

<Wix>
  <Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />

Wix/Produkt/@Name

Toto je názov aplikácie zobrazený v každej časti obrazovky inštalátora. Môže to byť aj názov, ktorý sa zobrazí v zozname Pridať a odstrániť programy.

<Wix>
  <Product Name="リトルセイバー 体験版" />

image

image

Wix/Produkt/@Manufacturer

Zadajte názov výrobcu. Zobrazí sa ako autor inštalátora alebo vydavateľ zoznamu programov.

<Wix>
  <Product Manufacturer="ソーサリーフォース">

image

image

Wix/Product/UIRef/@Id

Zadajte identifikáciu, ktorá identifikuje, ktorá obrazovka sa má zobraziť v Sprievodcovi inštaláciou. Tentokrát, pretože je to minimálna konfigurácia na zobrazenie a inštaláciu iba licencie, je zadaný "WixUI_Minimal".

<Wix>
  <Product>
    <UIRef Id="WixUI_Minimal" />

Myslím si, že nasledujúca stránka bude užitočná v tom, aký druh označenia možno vykonať.

Používanie dialógového okna WixUI

Wix/Product/WixVariable/*

Určuje súbor, ktorý sa má použiť v používateľskému ui sprievodcu. Minimálna konfigurácia používa tri súbory: Hodnota identifikácie je pevná a hodnota je názov súboru.

<Wix>
  <Product>
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
    <WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />

Ikona aplikácie inštalácie

Používa sa pre ikony aplikácií, ktoré sa zobrazujú v časti "Pridať a odstrániť programy" atď.

V časti Zdrojový súbor prvku Ikona zadajte súbor ico ako relatívnu cestu z priečinka projektu.

"Property Id="ARPPRODUCTICON" je asociačná definícia ikony.

<Wix>
  <Product>
    <Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
    <Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />

Wix/Fragment (konfigurácia priečinka súborov)

Nastaví konfiguráciu priečinka na inštaláciu. Pôvodne budete tiež umiestňovať súbory, ale najprv vytvoríte iba priečinky.

Hodnota "Name" nastavená na "Id="ProgramMenuDir" je názov priečinka umiestneného v skratke ponuky Štart. Nastavte aj guidy.

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

Pridanie inštalačných súborov

Môžete ho tiež pridať do súboru Product.wxs ručne. Keďže identifikátor GUID je potrebný pre súbor, je ťažké pracovať s viacerými súbormi. Ak chcete pridať súbory, pridajte ich pomocou funkcie WixEdit.

Spustite WixEdit.

image

Otvorte súbor Product.wxs.

image

image

Vyberte položku Súbory na ľavej strane. Odstráňte priečinky pod položkou ProgramFilesFolder.

image

Kliknite pravým tlačidlom myši na priečinok ProgramFilesFolder a vyberte položku Importovať priečinok.

image

Vyberte priečinok, do ktorého chcete súbory nainštalovať.

image

Do stromu sa pridá množina súborov.

image

Ak chcete priradiť k iným parametrom, vyberte pridaný priečinok a nastavte "Id" späť na "INSTALLFOLDER".

image

Vytvorte odkaz pre ponuku Štart. V ponuke exe vyberte možnosť "Nové" a "Odkaz".

image

Po pridaní skratky ju vyberte a kliknutím pravým tlačidlom myši pridajte vlastnosť.

image

Pridajte nasledujúce parametre: (Zmeňte jedinečný názov tak, aby zodpovedal programu.)

Hodnota
atribútu
Id LITTLESAVIORTRIAL. EXE_shortcut
Meno Malý šaberský proces
Adresár ProgramMenuDir
WorkingDirectory INSTALLDIR
Ikona LITTLESAVIOR. ICO
IconIndex 0
Inzerovať áno

image

Potom vyberte kartu "Funkcia", kliknite pravým tlačidlom myši na "ProductFeature" a vyberte položku Vybrať súčasti, ktoré chcete pridať.

image

Vyberte všetko.

image

Pridalo.

image

Zachrániť.

image

Product.wxs by mali vyzerať asi takto:

<?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>

Vytvorenie a spustenie potvrdenia

Vytvorte konfiguráciu riešenia "Release" vo Visual Studio.

image

Začnite stavať z riešenia build.

image

Po úspešnom vytvorení budovy sa v priečinku "bin\Release" vygeneruje súbor msi.

image

Ak sa ho pokúsite spustiť, inštalátor sa spustí.

image

Po dokončení inštalácie sa v ponuke Štart vytvorí odkaz.

image

Súbor sa umiestni do priečinka Program Files (x86).

image

Aplikácia sa zobrazí aj v časti "Programy a funkcie".

image

Spustite aplikáciu a uistite sa, že funguje správne.

image

Súhrn

Tu sme opísali kroky na vytvorenie inštalátora MSI pomocou Visual Studio a WiX. Podrobné nastavenia by som chcel vysvetliť v samostatnom článku.