0

由于标题泄露,我在将自定义安装位置INSTALLFOLDER插入.settings文件时遇到了巨大的问题。它是 WiX 在执行常规操作时使用的位置:

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

好消息是.settings-file 是用 XML 编写的,尽管它没有明确地以 .xml 结尾。另外我不是在谈论Settings.settings-file(来自.NET环境)

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

“无法打开 XML 文件,系统错误:-2147024786”

大约 80-90% 的安装后。

我现在已经搜索了 Days 的所有内容而没有进一步了解,所以我非常感谢一些帮助!

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"' />
4

1 回答 1

0

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

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

于 2015-12-10T11:45:16.943 回答