Erstellen einer Windows Installer-"MSI" mit WiX part2

Erstellungsdatum der Seite :

Zuerst

Beim letzten Mal haben wir die notwendigen Dateien vorbereitet und das Projekt eingerichtet. Bearbeiten Sie dieses Mal "Product.wxs" und nehmen Sie verschiedene Einstellungen des Installationsprogramms vor.

Bearbeiten der Installationseinstellungen (Product.wxs)

Der Inhalt der Datei Product.wxs wird im XML-Format beschrieben. Es gibt eine Reihe von Parametern, aber zuerst werden wir die Mindesteinstellungen vornehmen, um sicherzustellen, dass das Installationsprogramm erstellt werden kann. Wenn Sie es genauer einrichten möchten, lesen Sie bitte einen anderen Artikel oder die offizielle Website.

Zum Zeitpunkt der Projekterstellung sieht der Code wie folgt aus:

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

Hier sind einige Dinge, die Sie ändern müssen: Fügen Sie Tags und Attribute hinzu, die nicht vorhanden sind.

Wix/Produkt/@Id

Legen Sie die GUID fest, die die Anwendung identifiziert.

Es gibt viele Tools zum Generieren von GUID, aber es ist schnell, die Tools zu verwenden, die mit Visual Studio kommen. Wählen Sie die Menüs "Extras" und "GUID erstellen".

image

Holen Sie sich einen 36-stelligen Code mit Bindestrich und setzen Sie ihn auf Wix/Product/@Id.

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

Wix/Produkt/@Name

Dies ist der Anwendungsname, der in jedem Teil des Installationsbildschirms angezeigt wird. Es kann auch der Name sein, der in der Liste Software angezeigt wird.

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

image

image

Wix/Produkt/@Manufacturer

Geben Sie den Namen des Herstellers ein. Es wird als Autor des Installationsprogramms oder als Herausgeber der Programmliste angezeigt.

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

image

image

Wix/Produkt/UIRef/@Id

Geben Sie eine ID ein, die angibt, welcher Bildschirm im Installationsassistenten angezeigt werden soll. Da es diesmal die Mindestkonfiguration ist, nur die Lizenz anzuzeigen und zu installieren, wird "WixUI_Minimal" angegeben.

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

Ich denke, dass die folgende Seite hilfreich sein wird, welche Art von Bezeichnung gemacht werden kann.

Verwenden des WixUI-Dialogfeldsatzes

Wix/Produkt/WixVariable/*

Gibt die Datei an, die in der Benutzeroberfläche des Assistenten verwendet werden soll. Die Mindestkonfiguration verwendet drei Dateien: Der Wert von id ist festgelegt und der Wert ist der Dateiname.

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

Symbol für die Installationsanwendung

Es wird für Anwendungssymbole verwendet, die unter "Software" usw. angezeigt werden.

Geben Sie in der "SourceFile" des Icon-Elements die ico-Datei als relativen Pfad aus dem Projektordner an.

"Property Id="ARPPRODUCTICON" ist die Assoziationsdefinition des Symbols.

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

Wix/Fragment (Dateiordnerkonfiguration)

Legt die zu installierende Ordnerkonfiguration fest. Ursprünglich platzieren Sie auch Dateien, erstellen jedoch zuerst nur Ordner.

Der Wert von "Name", der auf "Id="ProgramMenuDir" festgelegt ist, ist der Name des Ordners, der in der Kontextwahl im Startmenü abgelegt wird. Legen Sie auch Guids fest.

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

Installationsdateien hinzufügen

Sie können es auch von Hand zu einer Product.wxs-Datei hinzufügen. Da für eine Datei eine GUID erforderlich ist, ist es schwierig, mit mehr Dateien zu arbeiten. Um Also, um Dateien hinzuzufügen, verwenden Sie WixEdit, um sie hinzuzufügen.

Starten Sie WixEdit.

image

Öffnen Sie die Datei Product.wxs.

image

image

Wählen Sie Dateien aus dem Symbol auf der linken Seite. Löschen Sie die Ordner unter ProgramFilesFolder.

image

Klicken Sie mit der rechten Maustaste auf den Ordner ProgramFilesFolder und wählen Sie Ordner importieren.

image

Wählen Sie den Ordner aus, in dem Sie die Dateien installieren möchten.

image

Eine Reihe von Dateien wird der Struktur hinzugefügt.

image

Um mit anderen Parametern zu verknüpfen, wählen Sie den hinzugefügten Ordner aus und setzen Sie "Id" wieder auf "INSTALLFOLDER".

image

Erstellen Sie eine Verknüpfung für das Startmenü. Wählen Sie "Neu" und "Verknüpfung" aus dem Kontextmenü der EXE-Datei.

image

Wenn Verknüpfung hinzugefügt wird, wählen Sie sie aus, und klicken Sie mit der rechten Maustaste auf das Leerzeichen, um die Eigenschaft hinzuzufügen.

image

Fügen Sie die folgenden Parameter hinzu: (Ändern Sie den eindeutigen Namen so, dass er dem Programm entspricht.)

Attributwert
Id WENIGRETTUNG. EXE_shortcut
Name Little Saber Trial
Verzeichnis ProgrammMenuDir
WorkingDirectory INSTALLDIR
Ikone LITTLESAVIOR. ICO
IconIndex 0
Inserieren ja

image

Wählen Sie dann die Registerkarte "Feature", klicken Sie mit der rechten Maustaste auf "ProductFeature" und wählen Sie Select Components to add.

image

Wählen Sie alle aus.

image

Zugefügt.

image

Retten.

image

Product.wxs sollte in etwa so aussehen:

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

Bestätigung "Erstellen und Ausführen"

Machen Sie die Projektmappenkonfiguration in Visual Studio "Release".

image

Beginnen Sie mit dem Erstellen von Build Solution.

image

Wenn die Erstellung erfolgreich ist, wird eine MSI-Datei im Ordner "bin\Release" generiert.

image

Wenn Sie versuchen, es auszuführen, wird das Installationsprogramm gestartet.

image

Wenn die Installation abgeschlossen ist, wird im Startmenü eine Verknüpfung erstellt.

image

Die Datei wird im Ordner Programme (x86) abgelegt.

image

Die Anwendung erscheint auch unter "Programme und Funktionen".

image

Führen Sie die Anwendung aus und stellen Sie sicher, dass sie ordnungsgemäß funktioniert.

image

Zusammenfassung

Hier haben wir die Schritte zum Erstellen eines MSI-Installationsprogramms mit Visual Studio und WiX beschrieben. Ich möchte die detaillierten Einstellungen in einem separaten Artikel erläutern.