Ustvarjanje programa Windows Installer "MSI" s storitvijo WiX part2

Datum ustvarjanja strani :

Sprva

Nazadnje smo pripravili potrebne datoteke in pripravili projekt. Tokrat uredite »Product.wxs« in naredite različne nastavitve namestitvenega programa.

Urejanje nastavitev namestitve (Product.wxs)

Vsebina datoteke Product.wxs je opisana v obliki XML. Obstaja več parametrov, vendar bomo najprej naredili minimalne nastavitve, da se prepričamo, da je mogoče namestitveni program ustvariti. Če ga želite podrobneje nastaviti, si oglejte drug članek ali uradno spletno stran.

V času ustvarjanja projekta je koda videti takole:

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

Tukaj je nekaj stvari, ki jih morate spremeniti: Dodajte oznake in atribute, ki ne obstajajo.

Wix/Izdelek/@Id

Nastavite GUID, ki prepozna program.

Obstaja veliko orodij za ustvarjanje GUID- a, vendar je hitro uporabiti orodja, ki jih je mogoče uporabiti z Visual Studio. Izberite meni »Orodja« in »Ustvari GUID«.

image

Vzemite 36-mestno kodo, vključno z vezavnico, in jo nastavite na Wix/Product/@Id.

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

Wix/Izdelek/@Name

To je ime programa, prikazano na vsakem delu zaslona namestitvenega programa. To je lahko tudi ime, ki se prikaže na seznamu Dodaj in odstrani programe.

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

image

image

Wix/Izdelek/@Manufacturer

Vnesite ime proizvajalca. Prikaže se kot avtor namestitvenega programa ali založnik seznama programov.

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

image

image

Wix/Izdelek/UIRef/@Id

Vnesite ID, ki določa, kateri zaslon naj se prikaže v čarovniku za namestitev. Tokrat, ker je minimalna konfiguracija za prikaz in namestitev le licence, je navedena »WixUI_Minimal«.

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

Mislim, da bo naslednja stran v pomoč pri tem, kakšno označbe je mogoče narediti.

Uporaba nabora pogovornega okna WixUI

Wix/Izdelek/WixVariable/*

Določa datoteko, ki jo želite uporabiti v UI čarovnika. Najmanjša konfiguracija uporablja tri datoteke: Vrednost ID-ja je fiksna in vrednost je ime datoteke.

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

Ikona namestitvenega programa

Uporablja se za ikone aplikacije, ki se prikažejo v »Dodaj in odstrani programe« itd.

V »SourceFile« elementa ikone določite iko datoteko kot relativno pot iz mape projekta.

"Property Id="ARPPRODUCTICON" je definicija povezave ikone.

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

Wix/Fragment (konfiguracija mape datotek)

Nastavitev konfiguracije mape za namestitev. Prvotno boste tudi vneli datoteke, vendar najprej ustvarite samo mape.

Vrednost »Ime« nastavljena na »Id=«ProgramMenuDir« je ime mape, ki je bila v bližnjici začetnega menija. Nastavite tudi guids.

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

Dodajanje namestitvenih datotek

Datoteki Product.wxs jo lahko dodate tudi ročno. Ker je GUID potreben za datoteko, je težko delati z več datotekami. Če želite dodati datoteke, jih z WixEdito dodajte.

Izstreli WixEdit.

image

Odprite datoteko Product.wxs.

image

image

Izberite Datoteke na ikoni na levi. Izbrišite mape pod programFilesFolder.

image

Z desno tipko miške kliknite mapo ProgramFilesFolder in izberite Uvozi mapo.

image

Izberite mapo, v kateri želite namestiti datoteke.

image

Drevesu je dodan nabor datotek.

image

Če želite povezati z drugimi parametri, izberite dodano mapo in nastavite "ID" nazaj na "INSTALLFOLDER".

image

Ustvarite bližnjico za meni Start. izberite »Novo« in »Bližnjica« v meniju exe z desno tipko miške.

image

Ko je dodana bližnjica, jo izberite in z desno tipko miške kliknite prazno, da dodate lastnost.

image

Dodajte naslednje parametre: (Spremenite enolično ime, da se ujema s programom.)

Vrednost
atributa
Id Malosaviortsko. EXE_shortcut
Ime Malo saber poskus
Direktorij ProgramMenuDir
Delovnidirectory INSTALLDIR
Ikona LittleSavior. ICO
IconIndex 0
Oglaševanje Da

image

Nato izberite zavihek »Funkcija«, z desno tipko miške kliknite »ProductFeature« in izberite Izberite komponente, ki jih želite dodati.

image

Izberi vse.

image

Dodano.

image

Shraniti.

image

Product.wxs bi moral izgledati nekaj takega:

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

Potrditev gradnje in zagona

Konfiguracijo rešitve naredite »Release« v programu Visual Studio.

image

Začnite graditi iz rešitve Build.

image

Ko je zgradba uspešna, se v mapi »bin\Release« ustvari datoteka MSI.

image

Če ga poskusite zagnati, se bo namestitveni program zagnal.

image

Ko bo namestitev končana, bo v meniju Start ustvarjena bližnjica.

image

Datoteka je shranjena v mapi Program Files (x86).

image

Program se prikaže tudi v »Programi in funkcije«.

image

Zaženite aplikacijo in se prepričajte, da deluje pravilno.

image

Povzetek

Tukaj smo opisali korake za ustvarjanje MSI namestitvenega programa s programom Visual Studio in WiX. Rad bi pojasnil podrobne nastavitve v ločenem članku.