在配置文件上进行WiX搜索和替换

时间:2009-07-27 04:21:09

标签: vbscript wix wix3

我正在尝试使用WiX进行安装,我需要使用自定义WiX对话框的条目修改配置文件(不是XML或INI)。

这样做有好办法吗?我是否需要制作VB脚本自定义操作?

以下是wxs文件的相关位:

   <Directory Id="TARGETDIR" Name="SourceDir">
     <Directory Id="ProgramFilesFolder">
         <Directory Id="INSTALLLOCATION" Name="MyApp">
             <Component Id="ap_cfg" KeyPath="yes" Guid="...">
                 <File Id="CONFIGFILE" Source="myConfig.cfg" />
              </Component>
         </Directory>
      </Directory>
   </Directory>

2 个答案:

答案 0 :(得分:2)

搜索&amp;中没有内置版本。在Wix中替换构造,您需要编写自定义操作 我建议您使用DTF代替使用VBScript,这将使您能够在.net中编写自定义操作并在Visual Studio下对其进行调试。

答案 1 :(得分:2)

所以你想安装配置文件,在安装过程中动态修改它吗?

最好在原生/非托管代码(如C ++)中编写自定义操作,以读取各种MSI属性并将其写入配置文件。不要以任何速率安装带有密钥路径的文件,否则一旦修改它就会与原始哈希不匹配并将被修复。最好只从二进制表或其他东西写出“默认”配置,然后修改它,这样Windows安装程序就不关心你用它做什么。

我不建议您使用托管代码进行自定义操作,使用C ++并且您将为自己节省一些麻烦很多的麻烦。 WiX工具集源代码中有一些很好的示例可以帮助您入门。

最后,在您认为使用VBScript之前,请先阅读并阅读原因VBScript (and Jscript) MSI CustomActions suck