Vytvoření instalačního programu systému Windows "MSI" pomocí WiX part2

Datum vytvoření stránky :

Nejprve

Naposledy jsme připravili potřebné soubory a připravili projekt. Tentokrát upravte "Product.wxs" a proveďte různá nastavení instalačního programu.

Úprava nastavení instalace (Product.wxs)

Obsah souboru Product.wxs je popsán ve formátu XML. Existuje řada parametrů, ale nejprve provedeme minimální nastavení, abychom se ujistili, že instalační program může být vytvořen. Pokud jej chcete nastavit podrobněji, přečtěte si jiný článek nebo oficiální webové stránky.

V době vytvoření projektu vypadá 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>

Zde je několik věcí, které musíte změnit: Přidejte značky a atributy, které neexistují.

Wix/Product/@Id

Nastavte identifikátor GUID, který identifikuje aplikaci.

Existuje mnoho nástrojů pro generování identifikátoru GUID, ale je rychlé používat nástroje, které jsou dodávány se sadou Visual Studio. Vyberte nabídku "Nástroje" a "Vytvořit identifikátor GUID".

image

Získejte 36místný kód, včetně pomlčky, a nastavte ho na Wix/Product/@Id.

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

Wix/Product/@Name

Toto je název aplikace zobrazený v každé části obrazovky instalačního programu. Může to být také název, který se zobrazí v seznamu Přidat a odebrat programy.

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

image

image

Wix/Product/@Manufacturer

Zadejte název výrobce. Zobrazí se jako autor instalačního programu nebo vydavatel seznamu programů.

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

image

image

Wix/Product/UIRef/@Id

Zadejte ID, které určuje, která obrazovka se má zobrazit v průvodci instalací. Tentokrát, protože se jedná o minimální konfiguraci pro zobrazení a instalaci pouze licence, je zadáno "WixUI_Minimal".

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

Myslím, že následující web bude užitečný v tom, jaký druh označení lze provést.

Použití sady dialogů WixUI

Wix/Product/WixVariable/*

Určuje soubor, který se má použít v uživatelském rozhraní průvodce. Minimální konfigurace používá tři soubory: Hodnota ID je pevná a Hodnota je název souboru.

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

Ikona instalační aplikace

Používá se pro ikony aplikací, které se zobrazují v části "Přidat a odebrat programy" atd.

V "SourceFile" elementu Icon zadejte soubor ico jako relativní cestu ze složky projektu.

"Property Id="ARPPRODUCTICON" je definice přidružení ikony.

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

Wix/Fragment (konfigurace složky souboru)

Nastaví konfiguraci složky k instalaci. Původně budete také umísťovat soubory, ale nejprve vytvoříte pouze složky.

Hodnota "Jméno" nastavená na "Id="ProgramMenuDir" je název složky umístěné ve zkratce nabídky Start. Nastavte také vodítka.

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

Přidání instalačních souborů

Můžete jej také přidat do souboru Product.wxs ručně. Vzhledem k tomu, že pro soubor je vyžadován identifikátor GUID, je obtížné pracovat s více soubory. Chcete-li tedy přidat soubory, přidejte je pomocí WixEdit.

Spusťte WixEdit.

image

Otevřete soubor Product.wxs.

image

image

Vyberte Soubory z ikony vlevo. Odstraňte složky pod ProgramFilesFolder.

image

Klikněte pravým tlačítkem myši na složku ProgramFilesFolder a vyberte Importovat složku.

image

Vyberte složku, do které chcete soubory nainstalovat.

image

Do stromu je přidána sada souborů.

image

Chcete-li přidružit k dalším parametrům, vyberte přidanou složku a nastavte "Id" zpět na "INSTALLFOLDER".

image

Vytvořte zástupce nabídky Start. vyberte "Nový" a "Zkratka" z nabídky pravým tlačítkem myši exe souboru.

image

Když je zkratka přidána, vyberte ji a kliknutím pravým tlačítkem myši přidejte vlastnost.

image

Přidejte následující parametry: (Změňte jedinečný název tak, aby odpovídal programu.)

Hodnota atributu
Id LITTLESAVIORTRIAL. EXE_shortcut
Jméno Malý Saber Trial
Adresář ProgramMenuDir
WorkingDirectory INSTALLDIR
Ikona LITTLESAVIOR. ICO
IconIndex 0
Inzerovat Ano

image

Poté vyberte kartu "Funkce", klikněte pravým tlačítkem myši na "ProductFeature" a vyberte Vybrat komponenty, které chcete přidat.

image

Vyberte vše.

image

Přidán.

image

Uložit.

image

Product.wxs by měl vypadat nějak 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>

Sestavení a spuštění potvrzení

Proveďte konfiguraci řešení "Release" ve Visual Studiu.

image

Začněte stavět z řešení sestavení.

image

Po úspěšném sestavení se ve složce "bin\Release" vygeneruje soubor MSI.

image

Pokud se jej pokusíte spustit, instalační program se spustí.

image

Po dokončení instalace bude v nabídce Start vytvořena zkratka.

image

Soubor je umístěn ve složce Program Files (x86).

image

Aplikace se také zobrazí v "Programy a funkce".

image

Spusťte aplikaci a ujistěte se, že funguje správně.

image

Shrnutí

Zde jsme popsali kroky k vytvoření instalačního programu MSI pomocí sady Visual Studio a WiX. Rád bych vysvětlil podrobná nastavení v samostatném článku.