【发布时间】:2011-04-22 20:29:50
【问题描述】:
我有一个 C# 自定义操作,它加载一个 XML 文档并对其内容进行一些更改。
当我在我的 Windows 7 32 位工作站上运行它时,没有创建新的 XML 文档。当我在 Windows Server 2003 VM 上测试安装程序时,CA 按预期工作并将 XML 文档保存在安装目录中。
string configFile = Path.Combine(configFileSaveLocation, targetName);
StreamWriter writer = new StreamWriter(configFile);
doc.Save(writer);
writer.Close();
其中 'doc' 是一个 XmlDocument。
如果我将以上 4 行放在 try/catch 块中,则不会捕获到异常。
对我缺少什么有什么想法吗?
【问题讨论】:
-
可能是权限问题。 Windows 7 配备了 UAC。你确定没有例外?此外,您应该尝试用“使用”语句包围 StreamWriter。
-
它也可能将文件保存到意外位置。 configFileSaveLocation 是如何定义的?
-
为什么不使用标准的 XmlConfig 或 XmlFile 元素?他们在后台解决了大多数此类问题......
-
您是否尝试将模拟设置为“否”?
-
我的第一个想法也是,这是一个 UAC 问题。但是,当我添加 try/catch 并在调试器中运行它时,没有引发任何安全异常。