Windows Installer "MSI" létrehozása a WiX part2 használatával

Oldal létrehozásának dátuma :

Először

Legutóbb elkészítettük a szükséges fájlokat és állítottuk be a projektet. Ezúttal szerkessze a "Product.wxs" -et, és készítsen különböző beállításokat a telepítőről.

Telepítési beállítások szerkesztése (Product.wxs)

A Product.wxs fájl tartalma XML formátumban van leírva. Számos paraméter létezik, de először a minimális beállításokat készítjük el, hogy megbizonyosodjunk arról, hogy a telepítő létre lehet hozni. Ha részletesebben szeretné beállítani, kérjük, olvassa el egy másik cikket vagy a hivatalos weboldalt.

A projekt létrehozásakor a kód így néz ki:

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

Íme néhány dolog, amit meg kell változtatnia: Nem létező címkék és attribútumok hozzáadása.

Wix/Termék/@Id

Állítsa be az alkalmazást azonosító GUID-et.

Számos eszköz létezik GUID létrehozásához, de gyorsan használhatja a Visual Studio-hoz kapcsolódó eszközöket. Válassza ki az "Eszközök" és az "GUID létrehozása" menüt.

image

Szerezzen be egy 36 jegyű kódot, beleértve a kötőjelet is, és állítsa Wix / Product / @Id-ra.

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

Wix/Termék/@Name

Ez az alkalmazás neve jelenik meg a telepítő képernyő minden részében. Ez lehet az a név is, amely megjelenik a Programok telepítése és törlése listában.

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

image

image

Wix/Termék/@Manufacturer

Adja meg a gyártó nevét. Telepítő szerzőjeként vagy a programlista kiadójaként jelenik meg.

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

image

image

Wix/Termék/UIRef/@Id

Adjon meg egy azonosítót, amely azonosítja, hogy melyik képernyő jelenjen meg a telepítővarázslóban. Ezúttal, mivel ez a minimális konfiguráció csak a licenc megjelenítéséhez és telepítéséhez, a "WixUI_Minimal" meg van adva.

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

Úgy gondolom, hogy a következő webhely hasznos lesz abban, hogy milyen megnevezést lehet tenni.

A WixUI párbeszédpanel-készlet használata

Wix/Termék/WixVariable/*

Itt adhatja meg a varázsló felhasználói felületében használandó fájlt. A minimális konfiguráció három fájlt használ: Az azonosító értéke rögzített, az érték pedig a fájl neve.

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

A telepítési alkalmazás ikonja

Olyan alkalmazásikonokhoz használják, amelyek a "Programok hozzáadása és eltávolítása" stb.

Az Ikon elem "SourceFile" elemében adja meg az ico fájlt relatív elérési útként a projektmappából.

Az "Ingatlan id="ARPPRODUCTICON" az ikon társítás definíciója.

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

Wix/Fragment (fájlmappák konfigurációja)

Beállítja a mappának a telepítésre való konfigurálását. Eredetileg fájlokat is elhelyez, de először csak mappákat hoz létre.

Az "Id="ProgramMenuDir" érték a Start menü parancsikonjában elhelyezett mappa neve. Állítsa be a guids-t is.

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

Telepítési fájlok hozzáadása

Kézzel is hozzáadhatja a Product.wxs fájlhoz. Mivel egy fájlhoz GUID szükséges, nehéz több fájllal dolgozni. Tehát fájlok hozzáadásához használja a WixEdit-et a hozzáadáshoz.

Indítsa el a WixEdit-et.

image

Nyissa meg a Product.wxs fájlt.

image

image

Válassza a fájlok lehetőséget a bal oldali ikonból. Törölje a ProgramFilesFolder alatti mappákat.

image

Kattintson a jobb gombbal a ProgramFilesFolder mappára, és válassza a Mappa importálása lehetőséget.

image

Jelölje ki azt a mappát, ahová telepíteni szeretné a fájlokat.

image

A fa fájlkészletet ad hozzá.

image

Más paraméterekkel való társításához válassza ki a hozzáadott mappát, és állítsa vissza az "Id" -et "INSTALLFOLDER" értékre.

image

Hozzon létre egy parancsikont a Start menühöz. válassza az exe fájl jobb gombbal kattintva az "Új" és a "Parancsikon" lehetőséget.

image

A Parancsikon hozzáadásakor jelölje ki, és kattintson a jobb gombbal az üresre a tulajdonság hozzáadásához.

image

Adja hozzá a következő paramétereket: (Módosítsa az egyedi nevet, hogy megfeleljen a programnak.)

Attribútum értéke
Azonosító LITTLESAVIORTRIAL. EXE_shortcut
Név Kis kard tárgyalás
Címtár ProgramMenuDir
WorkingDirectory INSTALLDIR
Ikon LITTLESAVIOR. ICO
IconIndex 0
Hirdet igen

image

Ezután válassza a "Szolgáltatás" fület, kattintson a jobb gombbal a "ProductFeature" gombra, és válassza a hozzáadni kívánt összetevők kiválasztása lehetőséget.

image

Válassza ki az összeset.

image

Hozzáadott.

image

Megment.

image

Product.wxs kell kinéznie valami ilyesmi:

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

Visszaigazolás létrehozása és futtatása

A megoldáskonfigurációt "Release" -nek kell készítenie a Visual Studióban.

image

Kezdje el az építést a Build Solution-ből.

image

Ha az épület sikeres, msi fájl jön létre a "bin\Release" mappában.

image

Ha megpróbálja futtatni, a telepítő elindul.

image

Amikor a telepítés befejeződött, a Start menüben parancsikon jön létre.

image

A fájl a Program Files (x86) mappába kerül.

image

Az alkalmazás a "Programok és funkciók" című témakörben is megjelenik.

image

Futtassa az alkalmazást, és győződjön meg róla, hogy megfelelően működik.

image

Összefoglalás

Itt leírtuk az MSI telepítő létrehozásának lépéseit a Visual Studio és a WiX használatával. A részletes beállításokat külön cikkben szeretném elmagyarázni.