Windows Installer MSI:n luominen WiX-osan 2 avulla

Sivun luontipäivämäärä :

Alun perin

Viimeksi valmistelimme tarvittavat tiedostot ja perustimme projektin. Muokkaa tällä kertaa "Product.wxs" ja tee asentajan eri asetuksia.

Asennusasetusten muokkaaminen (Product.wxs)

Product.wxs-tiedoston sisältö on kuvattu XML-muodossa. Parametreja on useita, mutta ensin teemme vähimmäisasetukset varmistaaksemme, että asennusohjelma voidaan luoda. Jos haluat määrittää sen tarkemmin, tutustu toiseen artikkeliin tai viralliseen verkkosivustoon.

Projektin luonnin aikana koodi näyttää tältä:

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

Seuraavassa on joitakin asioita, joita sinun on muutettava: Lisää tunnisteita ja määritteitä, joita ei ole.

Wix/Tuote/@Id

Määritä sovelluksen yksilöivä GUID-tunnus.

GUID-tunnuksen luomiseen on monia työkaluja, mutta Visual Studion mukana tulee nopeasti käyttää työkaluja. Valitse valikko "Työkalut" ja "Luo GUID".

image

Hanki 36-numeroinen koodi, mukaan lukien yhdysmerkki, ja aseta sen arvoksi Wix/Product/@Id.

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

Wix/Tuote/@Name

Tämä sovelluksen nimi näkyy asennusohjelman näytön jokaisessa osassa. Se voi olla myös Nimi, joka näkyy Lisää ja poista sovellus -luettelossa.

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

image

image

Wix/Tuote/@Manufacturer

Kirjoita valmistajan nimi. Se näkyy asennusohjelman tekijänä tai ohjelmaluettelon julkaisijana.

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

image

image

Wix/Product/UIRef/@Id

Kirjoita tunnus, joka määrittää ohjatussa asennustoiminnossa näytettävän näytön. Tällä kertaa, koska se on vähimmäiskokoonpano vain käyttöoikeuden näyttämiseen ja asentamiseen, määritetään "WixUI_Minimal".

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

Uskon, että seuraava sivusto on hyödyllinen siinä, millainen nimitys voidaan tehdä.

WixUI-valintaikkunan avulla

Wix/Product/WixVariable/*

Määrittää ohjatun toiminnon käyttöliittymässä käytettävän tiedoston. Vähimmäiskokoonpano käyttää kolmea tiedostoa: Tunnuksen arvo on kiinteä ja arvo on tiedoston nimi.

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

Asennussovelluksen kuvake

Sitä käytetään sovelluskuvakkeille, jotka näkyvät "Lisää ja poista sovellus" jne.

Määritä Icon-elementin Lähdetiedosto-kentässä ico-tiedosto projektikansion suhteellinen polku.

"Property Id="ARPPRODUCTICON" on kuvakkeen liitosmääritys.

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

Wix/Fragment (tiedostokansion määritys)

Määrittää asennettavan kansion kokoonpanon. Alun perin sijoitat myös tiedostoja, mutta luot ensin vain kansioita.

"Name"-arvoksi on määritetty "Id="ProgramMenuDir" on käynnistysvalikon pikakuvakkeeseen sijoitetun kansion nimi. Aseta myös GUID-tunnukset.

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

Asennustiedostojen lisääminen

Voit myös lisätä sen Product.wxs-tiedostoon käsin. Koska tiedostoon tarvitaan GUID-tunnus, on vaikea työskennellä useampien tiedostojen kanssa. Joten voit lisätä tiedostoja WixEdit-näöllä lisätäksesi ne.

Käynnistä WixEdit.

image

Avaa Product.wxs-tiedosto.

image

image

Valitse vasemmalla olevasta kuvakkeesta Tiedostot. Poista ProgramFilesFolderin alla olevat kansiot.

image

Napsauta ProgramFilesFolder-kansiota hiiren kakkospainikkeella ja valitse Tuo kansio.

image

Valitse kansio, johon haluat asentaa tiedostot.

image

Puuhun lisätään joukko tiedostoja.

image

Jos haluat liittää muihin parametreihin, valitse lisätty kansio ja aseta "Id" takaisin "INSTALLFOLDER".

image

Luo Pikakuvake Käynnistä-valikkoon. valitse exe-tiedoston hiiren kakkospainikkeen valikosta "Uusi" ja "Pikakuvake".

image

Kun Pikakuvake on lisätty, valitse se ja lisää ominaisuus napsauttamalla tyhjää hiiren kakkospainikkeella.

image

Lisää seuraavat parametrit: (Muuta yksilöllinen nimi vastaamaan ohjelmaa.)

Määritteen arvo
Henkilöllisyystodistus PIKKUSAVIORTRIAL. EXE_shortcut
Nimi Pieni Saber-oikeudenkäynti
Hakemisto OhjelmaMenuDir
WorkingDirectory-kansio INSTALLDIR-TIEDOSTO
Ikoni PIKKUSAVIOR. ICO-koa
IconIndex-kuvake 0
Mainostaa Kyllä

image

Valitse sitten "Ominaisuus" -välilehti, napsauta hiiren kakkospainikkeella "ProductFeature" ja valitse Lisää Valitse komponentit.

image

Valitse kaikki.

image

Lisätty.

image

Säästää.

image

Product.wxs-tiedostossa pitäisi olla jotain tällaista:

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

Luo ja suorita vahvistus

Tee ratkaisukokoonpanosta "Release" Visual Studiossa.

image

Aloita rakentaminen Build Solutionista.

image

Kun rakennus onnistuu, bin\Release-kansioon luodaan msi-tiedosto.

image

Jos yrität suorittaa sen, asennusohjelma käynnistyy.

image

Kun asennus on valmis, Käynnistä-valikkoon luodaan pikakuvake.

image

Tiedosto sijoitetaan Ohjelmatiedostot (x86) -kansioon.

image

Sovellus näkyy myös "Ohjelmat ja toiminnot".

image

Suorita sovellus ja varmista, että se toimii oikein.

image

Yhteenveto

Tässä on kuvattu vaiheet MSI-asentajan luomiseksi Visual Studion ja WiX: n avulla. Haluaisin selittää yksityiskohtaiset asetukset erillisessä artikkelissa.