Creați un Windows Installer "MSI" utilizând WiX part2

Data creării paginii :

La început

Ultima dată, am pregătit dosarele necesare și am configurat proiectul. De data aceasta, editați "Product.wxs" și faceți diverse setări ale programului de instalare.

Editarea setărilor de instalare (Product.wxs)

Conținutul fișierului Product.wxs sunt descrise în format XML. Există o serie de parametri, dar mai întâi vom face setările minime pentru a ne asigura că programul de instalare poate fi creat. Dacă doriți să-l configurați în detaliu, vă rugăm să consultați un alt articol sau site-ul oficial.

La momentul creării proiectului, codul arată astfel:

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

Iată câteva lucruri pe care trebuie să le schimbi: Adăugați etichete și atribute care nu există.

Wix/Produs/@Id

Setați GUID-ul care identifică aplicația.

Există multe instrumente pentru a genera GUID, dar este rapid pentru a utiliza instrumentele care vin cu Visual Studio. Selectați meniul "Instrumente" și "Creare GUID".

image

Obțineți un cod de 36 de cifre, inclusiv o cratimă, și setați-l la Wix / Produs / @Id.

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

Wix/Produs/@Name

Acesta este numele aplicației afișat în fiecare parte a ecranului de instalare. De asemenea, poate fi numele care apare în lista Adăugare și eliminare programe.

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

image

image

Wix/Produs/@Manufacturer

Introduceți numele producătorului. Apare ca autor de instalare sau editor al listei de programe.

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

image

image

Wix /Produs / UIRef / @Id

Introduceți un ID care identifică ce ecran să afișeze în expertul de instalare. De data aceasta, deoarece este configurația minimă pentru a afișa și instala numai licența, este specificată "WixUI_Minimal".

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

Cred că următorul site va fi de ajutor în ce fel de desemnare se poate face.

Utilizarea setului de dialog WixUI

Wix/Produs/WixVariable/*

Specifică fișierul de utilizat în interfața cu utilizatorul a expertului. Configurația minimă utilizează trei fișiere: Valoarea ID-ului este fixă și Valoarea este numele fișierului.

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

Pictograma aplicației de instalare

Este folosit pentru pictogramele aplicației care apar în "Adăugare și eliminare programe" etc.

În "SourceFile" a elementului Icon, specificați fișierul ico ca o cale relativă din folderul de proiect.

"Property Id="ARPPRODUCTICON" este definiția de asociere a pictogramei.

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

Wix/Fragment (configurare folder fișier)

Setează configurația folderului de instalat. Inițial, veți plasa și fișiere, dar veți crea mai întâi numai foldere.

Valoarea "Nume" setată la "Id = "ProgramMenuDir" este numele folderului plasat în comanda rapidă din meniul start. Set guids, de asemenea.

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

Adăugarea fișierelor de instalare

De asemenea, îl puteți adăuga manual într-un fișier Product.wxs. Deoarece este necesar un GUID pentru un fișier, este dificil să lucrați cu mai multe fișiere. Deci, pentru a adăuga fișiere, utilizați WixEdit pentru a le adăuga.

Lansați WixModificare.

image

Deschideți fișierul Product.wxs.

image

image

Selectați Fișiere din pictograma din stânga. Ștergeți folderele de sub ProgramFilesFolder.

image

Faceți clic dreapta pe folderul ProgramFilesFolder și selectați Import folder.

image

Selectați folderul în care doriți să instalați fișierele.

image

Un set de fișiere este adăugat la arbore.

image

Pentru a se asocia cu alți parametri, selectați folderul adăugat și setați "Id" înapoi la "INSTALLFOLDER".

image

Creați o comandă rapidă pentru meniul Start. selectați "Nou" și "Comandă rapidă" din meniul cu clic dreapta al fișierului exe.

image

Când se adaugă Scurtătură, selectați-o și faceți clic dreapta pe martor pentru a adăuga proprietatea.

image

Adăugați următorii parametri: (Modificați numele unic pentru a se potrivi programului.)

Valoarea atributului
Id LITTLESAVIORTRIAL. EXE_shortcut
Nume Little Saber Proces
Director ProgramMenuDir
WorkingDirectory INSTALLDIR
Icoană LITTLESAVIOR. ICO
IconIndex 0
Publicitate Da

image

Apoi selectați fila "Caracteristică", faceți clic dreapta pe "ProductFeature" și selectați Selectați componentele de adăugat.

image

Selectați toate.

image

Adăugat.

image

Salva.

image

Product.wxs ar trebui să arate ceva de genul asta:

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

Construirea și rularea confirmării

Faceți configurația soluției "Lansare" în Visual Studio.

image

Începeți să construiți de la Build Solution.

image

Când clădirea are succes, un fișier msi este generat în folderul "bin\Release".

image

Dacă încercați să-l executați, programul de instalare va porni.

image

Când instalarea este finalizată, se va crea o comandă rapidă în meniul Start.

image

Fișierul este plasat în folderul Program Files (x86).

image

Aplicația apare, de asemenea, în "Programe și funcții".

image

Rulați aplicația și asigurați-vă că funcționează corect.

image

Rezumat

Aici am descris pașii pentru a crea un program de instalare MSI folosind Visual Studio și WiX. Aș dori să explice setările detaliate într-un articol separat.