0

在自定义操作中,我通过 ConfigurationManager.OpenExeConfiguration(exePath) {此路径对文件正确} 加载 .exe.config 文件

我正在这样做 After="InstallFiles" 并且在安装中一切正常,直到我尝试调用 config.Save(); 然后返回以下错误,并且全部回滚。

加载配置文件时出错:拒绝访问路径“C:\Program Files (x86)...\rdayspic.tmp”。(.exe.config)。

我是否需要以某种方式获取实际文件而不是 .tmp 版本,或者遵循其他模式来访问/修改配置?

我在某处读到我可能需要将整个文件作为一个字符串基本上拉入并通过搜索和替换来进行更改,但这对我来说似乎太笨拙了......

4

1 回答 1

0

听起来您在产品安装期间尝试更新 XML 文件(应用程序配置)。如果是这种情况,您应该查看XmlConfig元素。

与自定义操作相比,它具有许多优点:

  • 它是 WiX 工具集的一部分,因此经过了全面测试
  • 它的唯一目的是修改 XML
  • 这是几行 WiX 代码的问题

所以,不要发明轮子,尽可能地遵循标准解决方案。

于 2013-07-25T07:00:44.030 回答