【发布时间】:2013-07-29 12:53:21
【问题描述】:
我想在 Inno Setup 中修改 xml 文件 - 但安装程序崩溃。我尝试了不同的方法,结果得到了有问题的示例代码
procedure testXml();
var
xmlDocLocal, nodeLocal: Variant;
begin
try
xmlDocLocal := CreateOleObject('MSXML2.DOMDocument');
xmlDocLocal.async := False;
xmlDocLocal.resolveExternals := False;
xmlDocLocal.loadXML('<root></root>');
nodeLocal := xmlDocLocal.CreateElement('element1');
xmlDocLocal.documentElement.appendChild(nodeLocal);
except
end;
end;
在第二次调用期间,安装程序在 appendChild 方法上崩溃。我做错了什么?
【问题讨论】:
-
你做对了!这很奇怪,真的,真的很奇怪,而且非常严重......您的代码应该可以正常工作。甚至微软在 MSDN 上也展示了一个类似的例子。我无法追踪出了什么问题,也无法在 Delphi 中重现它,因此它可能与 Pascal 脚本本身有关,但很难说。但是,作为一种解决方法,您可以使用
createNode方法this way。这对我来说很好,但我只能说这些。 -
关于 MSXML 崩溃的一些注释,可能是相关的。 stackoverflow.com/a/42869405/572002
标签: inno-setup