Windows Installer "MSI" izveide, izmantojot WiX2.

Lapas izveides datums :

Sākumā

Pēdējo reizi mēs sagatavojām nepieciešamos failus un izveidojām projektu. Šoreiz rediģējiet "Product.wxs" un veiciet dažādus instalētāja iestatījumus.

Instalācijas iestatījumu rediģēšana (Product.wxs)

Faila Product.wxs saturs ir aprakstīts XML formātā. Ir vairāki parametri, bet vispirms mēs veiksim minimālos iestatījumus, lai pārliecinātos, ka instalētāju var izveidot. Ja vēlaties to iestatīt sīkāk, lūdzu, skatiet citu rakstu vai oficiālo vietni.

Projekta izveides laikā kods izskatās šādi:

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

Tālāk ir norādītas dažas lietas, kas jums jāmaina. Pievienojiet neesošus tagus un atribūtus.

Wix/Product/@Id

Iestatiet GUID, kas identificē lietojumprogrammu.

Guid ģenerēšanai ir daudz rīku, taču ir ātri izmantot Visual Studio programmā nodrošinātos rīkus. Atlasiet izvēlni "Rīki" un "Izveidot GUID".

image

Iegūstiet 36 ciparu kodu, tostarp pārnesumzīmi, un iestatiet to uz Wix/Product/@Id.

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

Wix/Product/@Name

Šis ir lietojumprogrammas nosaukums, kas tiek parādīts katrā instalēšanas ekrāna daļā. Tas var būt arī nosaukums, kas parādās sarakstā Programmu pievienošana un noņemšana.

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

image

image

Wix/Product/@Manufacturer

Ievadiet ražotāja nosaukumu. Tas tiek parādīts kā instalēšanas vai programmu saraksta izdevējs.

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

image

image

Wix/Product/UIRef/@Id

Ievadiet ID, kas identificē, kādu ekrānu rādīt instalēšanas vednī. Šoreiz, tā kā tā ir minimālā konfigurācija, lai parādītu un instalētu tikai licenci, ir norādīts "WixUI_Minimal".

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

Es domāju, ka šāda vietne būs noderīga, kāda veida apzīmējumu var izdarīt.

WixUI dialoga kopas izmantošana

Wix/Product/WixVariable/*

Norāda vedņa lietotāja interfeisā lietojamo failu. Minimālā konfigurācija izmanto trīs failus: ID vērtība ir fiksēta, un vērtība ir faila nosaukums.

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

Instalācijas lietojumprogrammas ikona

To izmanto lietojumprogrammu ikonām, kas parādās sadaļā "Pievienot un noņemt programmas" utt.

Ikonas elementa "SourceFile" norādiet ico failu kā relatīvu ceļu no projekta mapes.

"Īpašuma id="ARPPRODUCTICON" ir ikonas saistes definīcija.

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

Wix/Fragment (failu mapes konfigurācija)

Iestata mapes konfigurāciju instalēšanai. Sākotnēji jūs arī novietosiet failus, bet vispirms izveidojiet tikai mapes.

Iestatāmā "Name" vērtība uz "Id="ProgramMenuDir" ir sākuma izvēlnes saīsnē ievietotās mapes nosaukums. Iestatiet arī GUID.

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

Pievienot instalācijas failus

To var pievienot arī Product.wxs failam ar roku. Tā kā failam ir nepieciešams GUID, ir grūti strādāt ar vairākiem failiem. Tātad, lai pievienotu failus, izmantojiet WixEdit, lai tos pievienotu.

Palaidiet WixEdit.

image

Atveriet failu Product.wxs.

image

image

Kreisajā pusē no ikonas atlasiet Faili. Izdzēsiet mapes zem ProgramFilesFolder.

image

Ar peles labo pogu noklikšķiniet uz mapes ProgramFilesFolder un atlasiet Importēt mapi.

image

Atlasiet mapi, kurā vēlaties instalēt failus.

image

Kokam tiek pievienota failu kopa.

image

Lai saistītu ar citiem parametriem, atlasiet pievienoto mapi un iestatiet "Id" atpakaļ uz "INSTALLFOLDER".

image

Izveidojiet izvēlnes Sākt saīsni. exe faila izvēlnē ar peles labo pogu atlasiet "Jauns" un "Saīsne".

image

Kad saīsne ir pievienota, atlasiet to un ar peles labo pogu noklikšķiniet uz tukšā, lai pievienotu rekvizītu.

image

Pievienojiet šādus parametrus: (Mainiet unikālo nosaukumu, lai tas atbilstu programmai.)

Atribūta vērtība
Id LITTLESAVIORTRIAL. EXE_shortcut
Vārds Mazā Sabera izmēģinājums
Direktoriju ProgramMenuDir
WorkingDirectory INSTALLDIR
Ikona LITTLESAVIOR. ICO
IconIndex 0
Reklamētu

image

Pēc tam atlasiet cilni "Funkcija", ar peles labo pogu noklikšķiniet uz "ProductFeature" un atlasiet Atlasīt pievienojamos komponentus.

image

Atlasiet visu.

image

Pievienot.

image

Glābt.

image

Product.wxs vajadzētu izskatīties apmēram šādi:

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

Izveidot un palaist apstiprinājumu

Izveidojiet risinājuma konfigurāciju "Release" visual Studio.

image

Sāciet veidot no Build Solution.

image

Kad ēka ir veiksmīga, mapē "bin\Release" tiek ģenerēts msi fails.

image

Ja mēģināsiet to palaist, instalētājs sāks.

image

Kad instalēšana ir pabeigta, izvēlnē Sākt tiks izveidota saīsne.

image

Fails tiek ievietots mapē Program Files (x86).

image

Lietojumprogramma parādās arī "Programmas un funkcijas".

image

Palaidiet lietojumprogrammu un pārliecinieties, vai tā darbojas pareizi.

image

Kopsavilkuma

Šeit mēs esam aprakstījuši darbības, lai izveidotu MSI instalētāju, izmantojot Visual Studio un WiX. Es vēlētos izskaidrot detalizētus iestatījumus atsevišķā rakstā.