Windows Installer "MSI" létrehozása a WiX part2 használatával
Először
Legutóbb elkészítettük a szükséges fájlokat és állítottuk be a projektet. Ezúttal szerkessze a "Product.wxs" -et, és készítsen különböző beállításokat a telepítőről.
Telepítési beállítások szerkesztése (Product.wxs)
A Product.wxs fájl tartalma XML formátumban van leírva. Számos paraméter létezik, de először a minimális beállításokat készítjük el, hogy megbizonyosodjunk arról, hogy a telepítő létre lehet hozni. Ha részletesebben szeretné beállítani, kérjük, olvassa el egy másik cikket vagy a hivatalos weboldalt.
A projekt létrehozásakor a kód így néz ki:
<?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>
Íme néhány dolog, amit meg kell változtatnia: Nem létező címkék és attribútumok hozzáadása.
Wix/Termék/@Id
Állítsa be az alkalmazást azonosító GUID-et.
Számos eszköz létezik GUID létrehozásához, de gyorsan használhatja a Visual Studio-hoz kapcsolódó eszközöket. Válassza ki az "Eszközök" és az "GUID létrehozása" menüt.
Szerezzen be egy 36 jegyű kódot, beleértve a kötőjelet is, és állítsa Wix / Product / @Id-ra.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Termék/@Name
Ez az alkalmazás neve jelenik meg a telepítő képernyő minden részében. Ez lehet az a név is, amely megjelenik a Programok telepítése és törlése listában.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Termék/@Manufacturer
Adja meg a gyártó nevét. Telepítő szerzőjeként vagy a programlista kiadójaként jelenik meg.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Termék/UIRef/@Id
Adjon meg egy azonosítót, amely azonosítja, hogy melyik képernyő jelenjen meg a telepítővarázslóban. Ezúttal, mivel ez a minimális konfiguráció csak a licenc megjelenítéséhez és telepítéséhez, a "WixUI_Minimal" meg van adva.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Úgy gondolom, hogy a következő webhely hasznos lesz abban, hogy milyen megnevezést lehet tenni.
A WixUI párbeszédpanel-készlet használata
Wix/Termék/WixVariable/*
Itt adhatja meg a varázsló felhasználói felületében használandó fájlt. A minimális konfiguráció három fájlt használ: Az azonosító értéke rögzített, az érték pedig a fájl neve.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
A telepítési alkalmazás ikonja
Olyan alkalmazásikonokhoz használják, amelyek a "Programok hozzáadása és eltávolítása" stb.
Az Ikon elem "SourceFile" elemében adja meg az ico fájlt relatív elérési útként a projektmappából.
Az "Ingatlan id="ARPPRODUCTICON" az ikon társítás definíciója.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragment (fájlmappák konfigurációja)
Beállítja a mappának a telepítésre való konfigurálását. Eredetileg fájlokat is elhelyez, de először csak mappákat hoz létre.
Az "Id="ProgramMenuDir" érték a Start menü parancsikonjában elhelyezett mappa neve. Állítsa be a guids-t is.
<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>
Telepítési fájlok hozzáadása
Kézzel is hozzáadhatja a Product.wxs fájlhoz. Mivel egy fájlhoz GUID szükséges, nehéz több fájllal dolgozni. Tehát fájlok hozzáadásához használja a WixEdit-et a hozzáadáshoz.
Indítsa el a WixEdit-et.
Nyissa meg a Product.wxs fájlt.
Válassza a fájlok lehetőséget a bal oldali ikonból. Törölje a ProgramFilesFolder alatti mappákat.
Kattintson a jobb gombbal a ProgramFilesFolder mappára, és válassza a Mappa importálása lehetőséget.
Jelölje ki azt a mappát, ahová telepíteni szeretné a fájlokat.
A fa fájlkészletet ad hozzá.
Más paraméterekkel való társításához válassza ki a hozzáadott mappát, és állítsa vissza az "Id" -et "INSTALLFOLDER" értékre.
Hozzon létre egy parancsikont a Start menühöz. válassza az exe fájl jobb gombbal kattintva az "Új" és a "Parancsikon" lehetőséget.
A Parancsikon hozzáadásakor jelölje ki, és kattintson a jobb gombbal az üresre a tulajdonság hozzáadásához.
Adja hozzá a következő paramétereket: (Módosítsa az egyedi nevet, hogy megfeleljen a programnak.)
Attribútum | értéke |
---|---|
Azonosító | LITTLESAVIORTRIAL. EXE_shortcut |
Név | Kis kard tárgyalás |
Címtár | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Ikon | LITTLESAVIOR. ICO |
IconIndex | 0 |
Hirdet | igen |
Ezután válassza a "Szolgáltatás" fület, kattintson a jobb gombbal a "ProductFeature" gombra, és válassza a hozzáadni kívánt összetevők kiválasztása lehetőséget.
Válassza ki az összeset.
Hozzáadott.
Megment.
Product.wxs kell kinéznie valami ilyesmi:
<?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>
Visszaigazolás létrehozása és futtatása
A megoldáskonfigurációt "Release" -nek kell készítenie a Visual Studióban.
Kezdje el az építést a Build Solution-ből.
Ha az épület sikeres, msi fájl jön létre a "bin\Release" mappában.
Ha megpróbálja futtatni, a telepítő elindul.
Amikor a telepítés befejeződött, a Start menüben parancsikon jön létre.
A fájl a Program Files (x86) mappába kerül.
Az alkalmazás a "Programok és funkciók" című témakörben is megjelenik.
Futtassa az alkalmazást, és győződjön meg róla, hogy megfelelően működik.
Összefoglalás
Itt leírtuk az MSI telepítő létrehozásának lépéseit a Visual Studio és a WiX használatával. A részletes beállításokat külön cikkben szeretném elmagyarázni.