如果可能的话,我正在寻找一个精确的WiX教程和项目示例。目前的教程对我没什么帮助。
我的要求是
我已经安装了WiX 3.0.5419.0 Visual Studio 2008。
答案 0 :(得分:3)
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ShortcutFolder" Name="My app">
</Directory>
</Directory>
<Directory Id="ProgramFilesFolder">
<Directory Id="My Company" Name="My Company">
<Directory Id="INSTALLDIR" Name="My product">
</Directory>
</Directory>
</Directory>
</Directory>
您可以根据需要嵌套目录标记,然后使用DirectoryRef列出进入此目录的组件。
您可以在UIRef,WixUI_InstallDir或Fragment(不在{{}中的某处使用 Include 定义Module 3}},尽管有文档):
<UIRef Id="WixUI_InstallDir" />
这将创建一个使用InstallDir UI的包,例如,可以在UI中指定目标目录(如果你的意思是这个,否则你需要从头开始定义一个新的对话框/复制现有的对话框和将其插入序列中。)
指定类似
的内容<RegistryKey Action="none" Root="HKCU" Key="some key">
<RegistryValue Value="some value" Type="string" KeyPath="yes" />
</RegistryKey>
在组件内部。
<DirectoryRef Id="ShortcutFolder">
<Component Id="ShortcutsComponent" Guid="{XXXX}">
<CreateFolder Directory="ShortcutFolder" />
<RemoveFolder Id="RemoveShorcutFolder" Directory="ShortcutFolder" On="uninstall" />
<Shortcut Id="UninstallProduct"
Name="Uninstall my product"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"
Directory="ShortcutFolder"
Description="Uninstalls my product"/>
</Component>
</DirectoryRef>
请注意我之前显示的目录列表中使用ShortcutFolder目录。
不太确定您的意思是哪种依赖。
.NET Framework?例如:
<Condition Message="This setup requires the .NET Framework 3.5 or later to be installed.">
Installed OR NETFRAMEWORK35 OR NETFRAMEWORK40FULL
</Condition>
第三方DLL?您只需为每个DLL创建一个单独的组件,并使用File
标记指定WiX应该查找的路径。然后,此组件列在DirectoryRef
标记下,该标记指定文件在安装期间的位置。