如何使用 WiX 将 INSTALLFOLDER 位置插入到 .settings 文件中?
How Do I insert the INSTALLFOLDER-location into a .settings file with WiX?
如标题所示,我在将自定义安装位置 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 位置)然后使用 name="bla.settings"
标签将其重命名回 .settings
文件。
即使 the.msi 的构建工作完美,安装本身也会溢出错误代码
"Failed to open XML file, system error: -2147024786"
大约 80-90% 的安装完成后。
我已经搜索了 Days 的所有内容,但没有得到任何进一步的结果,所以非常感谢您的帮助!
PS:我已经听说自定义操作可以完成这里的工作,甚至可能是解决方案。但是,我缺乏关于如何构建一个恰好满足我需要的洞察力。再次提供信息 /Tutorials/Guids 将不胜感激!
编辑:这就是在我的代码中使用扩展的样子:
<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"' />
您可以用 C# 编写自定义操作,然后在您的 wix 文件中调用它。这是一个很好的教程,解释了如何编写和使用自定义操作。
如标题所示,我在将自定义安装位置 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 位置)然后使用 name="bla.settings"
标签将其重命名回 .settings
文件。
即使 the.msi 的构建工作完美,安装本身也会溢出错误代码
"Failed to open XML file, system error: -2147024786"
大约 80-90% 的安装完成后。
我已经搜索了 Days 的所有内容,但没有得到任何进一步的结果,所以非常感谢您的帮助!
PS:我已经听说自定义操作可以完成这里的工作,甚至可能是解决方案。但是,我缺乏关于如何构建一个恰好满足我需要的洞察力。再次提供信息 /Tutorials/Guids 将不胜感激!
编辑:这就是在我的代码中使用扩展的样子:
<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"' />
您可以用 C# 编写自定义操作,然后在您的 wix 文件中调用它。这是一个很好的教程,解释了如何编写和使用自定义操作。