我正在尝试构建一个 WIX 安装程序,它允许用户通过命令行参数指定安装路径。
<Property Id="IISROOTPATH">
<RegistrySearch Id="FindInetPubFolder" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="PathWWWRoot" Type="directory" />
</Property>
...
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="IISROOTPATH">
<Directory Id="INSTALLPATH" Name="WebsiteFolder">
...
如果用户不传入任何参数,它将查找 iisroot 文件夹的注册表,并将文件安装在名为“WebsiteFolder”的文件夹下
但是为了让用户改变安装路径,他们必须传入一个绝对路径,例如
INSTALLPATH="C:\InetPub\wwwroot\CustomWebsiteFolder"
最佳答案
您应该了解 Directory表 - 目录元素背后的 MSI 概念。我见过的最好的解释是 a set of Rob's articles (链接是第 1 部分,有 6 个部分,如果我没记错的话)。
关于Wix 目录如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602891/