【问题标题】:How Do I insert the INSTALLFOLDER-location into a .settings file with WiX?如何使用 WiX 将 INSTALLFOLDER 位置插入 .settings 文件?
【发布时间】:2015-12-03 16:10:01
【问题描述】:

由于标题泄露,我在将自定义安装位置 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 编辑扩展,方法是暂时将 .settings 更改为 .xml 文件以插入字符串(更准确地说是 INSTALLFOLDER 位置),然后将其重命名为 @987654327使用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"' />

【问题讨论】:

    标签: xml wix properties.settings


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢! ......我终于能够解决这个问题......在发现我正在编辑的 XML 文件有问题之后^^(我在某处错过了一个“/”......)!在那之后使用 XML-Utils 工作得很好......如果任何其他人应该感兴趣......它是否也无关紧要。设置或其他任何东西......只要它被格式化为 XML 文件......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多