Oprette en Windows Installer "MSI" ved hjælp af WiX part2

Dato for oprettelse af side :

Først

Sidste gang forberedte vi de nødvendige filer og oprettede projektet. Denne gang skal du redigere "Product.wxs" og foretage forskellige indstillinger for installationsprogrammet.

Rediger installationsindstillinger (Product.wxs)

Indholdet af filen Product.wxs er beskrevet i XML-format. Der er en række parametre, men først vil vi lave minimumindstillingerne for at sikre, at installationsprogrammet kan oprettes. Hvis du ønsker at sætte det op mere detaljeret, henvises til en anden artikel eller den officielle hjemmeside.

På tidspunktet for projektoprettelse ser koden sådan ud:

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

Her er nogle ting, du skal ændre: Tilføj mærker og attributter, der ikke findes.

Wix/Produkt/@Id

Angiv det GUID, der identificerer programmet.

Der er mange værktøjer til at generere GUID, men det er hurtigt at bruge de værktøjer, der følger med Visual Studio. Vælg menuen "Funktioner" og "Opret GUID".

image

Få en 36-cifret kode, herunder en bindestreg, og indstil den til Wix/Product/@Id.

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

Wix/Produkt/@Name

Dette er det programnavn, der vises i hver del af installationsskærmen. Det kan også være det navn, der vises på listen Tilføj og fjern programmer.

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

image

image

Wix/Produkt/@Manufacturer

Angiv navnet på producenten. Det vises som installationsforfatteren eller udgiveren af programlisten.

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

image

image

Wix/Product/UIRef/@Id

Angiv et id, der identificerer, hvilket skærmbillede der skal vises i installationsguiden. Denne gang, da det er den mindste konfiguration til kun at vise og installere licensen, er "WixUI_Minimal" angivet.

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

Jeg tror, at følgende websted vil være nyttigt i, hvilken slags betegnelse kan gøres.

Bruge WixUI-dialogbokssættet

Wix/Produkt/WixVariable/*

Angiver den fil, der skal bruges i brugergrænsefladen i guiden. Den mindste konfiguration bruger tre filer: Id'ets værdi er fast, og værdien er filnavnet.

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

Ikonet Installationsprogram

Det bruges til programikoner, der vises i "Tilføj og fjern programmer" osv.

Angiv iCo-filen som en relativ sti fra projektmappen i "SourceFile" i ikonet.

"Property Id="ARPPRODUCTICON" er ikonets tilknytningsdefinition.

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

Wix/Fragment (konfiguration af filmappe)

Indstiller den mappekonfiguration, der skal installeres. Oprindeligt vil du også placere filer, men kun oprette mapper først.

Værdien "Navn" angivet til "Id="ProgramMenuDir" er navnet på den mappe, der er placeret i genvejsmenugenvejen. Indstil også GUID'er.

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

Tilføje installationsfiler

Du kan også føje den til en Product.wxs-fil manuelt. Da der kræves et GUID til en fil, er det svært at arbejde med flere filer. Så for at tilføje filer skal du bruge WixEdit til at tilføje dem.

Affyr WixEdit.

image

Åbn filen Product.wxs.

image

image

Vælg Filer fra ikonet til venstre. Slet mapperne under ProgramFilesFolder.

image

Højreklik på mappen ProgramFilesFolder, og vælg Importer mappe.

image

Vælg den mappe, hvor du vil installere filerne.

image

Der føjes et sæt filer til træet.

image

Hvis du vil knytte sig til andre parametre, skal du vælge den tilføjede mappe og angive "Id" tilbage til "INSTALLFOLDER".

image

Opret en genvej til menuen Start. Vælg "Ny" og "Genvej" i genvejsmenuen i exe-filen.

image

Når Genvej tilføjes, skal du markere den og højreklikke på det tomme for at tilføje egenskaben.

image

Tilføj følgende parametre: (Skift det entydige navn, så det svarer til programmet).

Attributværdi
Id LITTLESAVIORTRIAL. EXE_shortcut
Navn Lille sabel retssag
Mappe ProgramMenuDir
WorkingDirectory INSTALLDIR
Ikon LILLESAVIOR. ICO
IconIndex 0
Reklamere Ja

image

Vælg derefter fanen "Funktion", højreklik på "ProductFeature", og vælg Vælg komponenter, der skal tilføjes.

image

Marker alle.

image

Tilføjet.

image

Spare.

image

Product.wxs skal se nogenlunde sådan ud:

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

Bekræftelse af Opbygning og kørsel

Gør løsningskonfigurationen "Release" i Visual Studio.

image

Begynd at bygge fra Build Solution.

image

Når bygningen lykkes, oprettes der en msi-fil i mappen "bin\Release".

image

Hvis du forsøger at køre det, starter installationsprogrammet.

image

Når installationen er fuldført, oprettes der en genvej i menuen Start.

image

Filen placeres i mappen Programmer (x86).

image

Programmet vises også i "Programmer og funktioner".

image

Kør programmet, og kontroller, at det fungerer korrekt.

image

Resumé

Her har vi beskrevet trinene til at oprette en MSI-installationer ved hjælp af Visual Studio og WiX. Jeg vil gerne forklare de detaljerede indstillinger i en separat artikel.