如何使用WiX将INSTALLFOLDER位置插入.settings文件?

时间:2015-12-03 16:10:02

标签: xml wix properties.settings

随着标题的发布,我在将自定义安装位置INSTALLFOLDER插入.settings文件时遇到了很大问题。这是WiX在平常时使用的位置:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="ToplevelFolder" Name="blaa">
      <Directory Id="INSTALLFOLDER" Name="bluub">
       ...so on....

好的是.settings - 文件是用XML编写的,虽然它没有明确地以.xml结尾。我也不是在谈论Settings.settings - 文件(来自.NET环境)

话虽如此,我已经尝试过将WiX集成的XML编辑扩展程序暂时更改为.xml文件以插入字符串(更准确地说是INSTALLFOLDER位置),然后重命名它使用.settings标记返回name="bla.settings"文件。 即使.msi的构建工作完美,然后安装本身也会泄漏错误代码

  

&#34;无法打开XML文件,系统错误:-2147024786&#34;

大约80-90%的安装后。

我现在已经搜索了所有内容而没有进一步搜索,所以我真的很感激一些帮助!

PS:我已经听说过自定义操作可以在这里完成工作,甚至可能是解决方案。但是,我缺乏如何构建一个能够完全满足我需要的洞察力的洞察力。再次提供信息/教程/指南真的很感激!

编辑:这是在我的代码中使用扩展名的内容:

<File Id="fil0CCD9555A0AF7A2FA45DFC80F03955CB" KeyPath="yes" Name="adtf_devenv.settings" Source="!(wix.HelpDir)\adtf-2.9.0-win64-vc100\bin\adtf_devenv.xml" />
<util:XmlFile Id="setDIR" Action="createElement" Permanent="yes" File="[#adtf_devenv.xml]" ElementPath="/[adtf:export]" Name="file" Value='Artefacts="INSTALLFOLDER\Artefacts\" name="Stadtpilot"' />

1 个答案:

答案 0 :(得分:0)

您可以在C#中编写自定义操作,然后在您的wix文件中调用它。这是一个很好的教程,解释了如何编写和使用自定义操作。

http://blogs.msdn.com/b/jschaffe/archive/2012/10/23/creating-wix-custom-actions-in-c-and-passing-parameters.aspx