Windows Installeri "MSI" loomine WiX part2 abil

Lehe loomise kuupäev :

Alguses

Viimati koostasime vajalikud failid ja seadistasime projekti. Seekord redigeerige "Product.wxs" ja tehke paigaldajale erinevaid seadeid.

Installisätete redigeerimine (Product.wxs)

Faili Product.wxs sisu kirjeldatakse XML-vormingus. Parameetreid on mitmeid, kuid kõigepealt teeme minimaalsed seaded veendumaks, et paigaldajat saab luua. Kui soovite seda üksikasjalikumalt seadistada, vaadake mõnda muud artiklit või ametlikku veebisaiti.

Projekti loomise ajal näeb kood välja selline:

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

Siin on mõned asjad, mida peate muutma. Saate lisada silte ja atribuute, mida pole olemas.

Wix/Toode/@Id

Seadke rakendust tuvastav GUID.

GUID-i loomiseks on palju tööriistu, kuid Visual Studioga kaasas olevate tööriistade kasutamine on kiire. Valige menüü "Tööriistad" ja "Loo GUID".

image

Hankige 36-kohaline kood koos sidekriipsuga ja seadke selle väärtuseks Wix/Product/@Id.

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

Wix/Toode/@Name

See on rakenduse nimi, mis kuvatakse installeri ekraani igas osas. See võib olla ka nimi, mis kuvatakse loendis Programmide lisamine ja eemaldamine.

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

image

image

Wix/Toode/@Manufacturer

Sisestage tootja nimi. See kuvatakse installeri autorina või programmiloendi avaldajana.

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

image

image

Wix/Toode/UIRef/@Id

Sisestage ID, mis tuvastab installiviisardis kuvatava ekraani. Seekord, kuna see on minimaalne konfiguratsioon ainult litsentsi kuvamiseks ja installimiseks, on määratud "WixUI_Minimal".

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

Ma arvan, et järgmine sait on abiks, millist määramist saab teha.

WixUI dialoogikomplekti kasutamine

Wix/Toode/WixVariable/*

Määrab viisardi kasutajaliideses kasutatava faili. Minimaalne konfiguratsioon kasutab kolme faili: ID väärtus on fikseeritud ja väärtus on faili nimi.

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

Installirakenduse ikoon

Seda kasutatakse rakenduse ikoonide jaoks, mis ilmuvad jaotises "Programmide lisamine ja eemaldamine" jne.

Määrake ikoonielemendi "SourceFile" ico-fail projektikausta suhteliseks teeks.

"Atribuut Id="ARPPRODUCTICON" on ikooni seose määratlus.

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

Wix/Fragment (failikausta konfiguratsioon)

Seab installima kausta konfiguratsiooni. Algselt paigutate ka faile, kuid loote esmalt ainult kaustad.

"Nimi" väärtuseks on seatud "Id="ProgramMenuDir" on start-menüü otseteele paigutatud kausta nimi. Seadke ka GUID-id.

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

Installifailide lisamine

Selle saate lisada ka product.wxs faili käsitsi. Kuna faili jaoks on vaja GUID-i, on raske töötada rohkemate failidega. Failide lisamiseks kasutage nende lisamiseks WixEditi.

Käivitage WixEdit.

image

Avage fail Product.wxs.

image

image

Valige vasakul olevalt ikoonilt Failid. Kustutage kaustad programmi ProgramFilesFolder all.

image

Paremklõpsake kausta ProgramFilesFolder ja valige Impordi kaust.

image

Valige kaust, kuhu soovite failid installida.

image

Puule lisatakse failide kogum.

image

Teiste parameetritega seostamiseks valige lisatud kaust ja seadke "ID" tagasi "INSTALLFOLDER".

image

Saate luua menüü Start otsetee. valige exe-faili paremklõpsumenüüst "Uus" ja "Otsetee".

image

Otsetee lisamisel valige see ja paremklõpsake atribuudi lisamiseks tühja.

image

Lisage järgmised parameetrid: (Muutke programmile vastavat kordumatut nime.)

Atribuudi väärtus
Id LITTLESAVIORTRIAL. EXE_shortcut
Nimi Väike Saberi kohtuprotsess
Kataloog ProgrammMenuDir
WorkingDirectory INSTALLDIR
Ikoon VÄIKESAVIOR. ICO
IconIndex 0
Reklaamida Jah

image

Seejärel valige vahekaart "Funktsioon", paremklõpsake "ProductFeature" ja valige vali lisamiseks komponendid.

image

Valige kõik.

image

Lisatud.

image

Salvestama.

image

Product.wxs peaks välja nägema umbes selline:

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

Koosta ja käivita kinnitus

Tehke Visual Studios lahenduse konfiguratsioon "Vabasta".

image

Alustage ehitamist ehituslahendusest.

image

Kui loomine õnnestub, luuakse msi-fail kaustas "bin\Release".

image

Kui proovite seda käivitada, käivitub installer.

image

Kui installimine on lõpule jõudnud, luuakse menüüs Start otsetee.

image

Fail paigutatakse kausta Programmifailid (x86).

image

Rakendus kuvatakse ka jaotises "Programmid ja funktsioonid".

image

Käivitage rakendus ja veenduge, et see töötab korralikult.

image

Kokkuvõte

Siin oleme kirjeldanud samme MSI installeri loomiseks Visual Studio ja WiX-i abil. Tahaksin selgitada üksikasjalikke seadeid eraldi artiklis.