You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Inno Setup修改app.config配置文件中指定key的value值

问题根因

你最初使用的XPath路径//configuration/appSettings[@key='DefaultUrl']的作用是查找带有key=DefaultUrl属性的<appSettings>节点,但从你给出的config文件结构来看,key属性是定义在<appSettings>的子节点<add>上的,所以查询无法匹配到任何节点,返回空的XMLNode变体,调用setAttribute方法时自然就抛出"Variant is null, cannot invoke"异常。

正确XPath写法

要定位到key为DefaultUrl的<add>节点,需要在路径中补充<add>节点层级,正确路径如下:

//configuration/appSettings/add[@key='DefaultUrl']

正确调用示例

你后续调试出的调用方式完全符合要求:

SaveAttributeValueToXML('Some_Application.exe.config', '//configuration/appSettings/add[@key=''DefaultUrl'']',   'value', 'https://Server_Name/Other_Application');

补充注意事项

  • Inno Setup的Pascal语法中,字符串内的单引号需要用两个单引号转义,所以XPath里的@key='DefaultUrl'要写成@key=''DefaultUrl''
  • 如果你的config文件带有XML命名空间(部分版本的.NET配置文件默认会带xmlns属性),需要提前给DOM对象设置命名空间前缀才能正常查询,你当前示例的XML没有命名空间,不需要额外处理。

内容的提问来源于stack exchange,提问作者Markku Rintala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:42:01