簡單的設定
此示例假定已存在名為 MyApp
的應用程式的解決方案。
-
向解決方案新增新專案:
-
在 Setup 專案中,從 Projects 選項卡新增對
MyApp
的新引用: -
在
Product.wxs
檔案中,使用HelloWorld
對Product
節點的Manufacturer
屬性進行增值:
<Product Id="*" Name="MyApp.Setup" Language="1033" Version="1.0.0.0" Manufacturer="HelloWorld" UpgradeCode="52f2c69b-5901-4d18-bb96-8c1c86cd1a3e">
在包含 Directory
節點的 Fragment
節點中,用新的 Directory
包裹最後一個節點:
<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
<Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
</Directory>
在 ComponentGroup
節點中,取消註釋註釋節點並刪除 TODO
然後在 Component
中新增 File
節點:
<File Source="$(var.MyApplication.TargetPath)" />
Source 屬性指定在構建期間在哪裡查詢要打包的檔案。我們使用傳遞給 WiX 編譯器的 WiX 前處理器變數,而不是將這些屬性的值硬編碼到原始碼中。
- 構建 WiX 專案。
而已! 現在你有了一個可以安裝和解除安裝應用程式的工作安裝程式。
完整的 Product.wxs
檔案:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="MyApp.Setup" Language="1033" Version="1.0.0.0" Manufacturer="HelloWorld" UpgradeCode="52f2c69b-5901-4d18-bb96-8c1c86cd1a3e">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="MyApp.Setup" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
<Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent">
<File Source="$(var.MyApp.TargetPath)" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>