Wix目录如何工作?

时间:2011-07-06 20:59:23

标签: wix windows-installer wix3.5

我正在尝试构建一个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"
  1. 这是如何工作的?然后忽略其他目录元素TARGETDIR和IISROOTPATH?

  2. 如何将INSTALLPATH更改为WEBSITEFOLDERNAME,以便用户只需传入文件夹名称而不是绝对安装路径。因此迫使用户始终安装到inetpub?

2 个答案:

答案 0 :(得分:4)

您应该了解Directory表 - Directory元素背后的MSI概念。我见过的最好的解释是a set of Rob's articles(链接是第1部分,有6个部分,如果我没记错的话)。

答案 1 :(得分:0)