1

我有执行Before="InstallFinalize"和替换配置文件(config.asp)中的文本的自定义操作:

String configFilePath = session.CustomActionData["configFile"];
var configFile = System.IO.File.ReadAllText(configFilePath);            
session.Log("replace config file");
configFile.Replace("test2", "test");
session.Log("write config file");
System.IO.File.WriteAllText(configFilePath, configFile);

当我尝试卸载应用程序时,出现错误:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files (x86)\myProject\config.asp'.

但是文件在那里。我想这是问题,因为我已经改变了原来的?我应该如何更改我的代码以更改文件不会破坏卸载过程?更改文件时我应该更改执行顺序吗?

4

1 回答 1

1

解决此问题的简单方法是将 config.asp 文件安装为config.asp.template并将其复制为config.asp自定义操作的一部分,以更改您需要的位。

这样原始文件永远不会被触及,并且会正确卸载。

于 2013-03-14T11:07:58.173 回答