我有自定义操作,执行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'.
但文件在那里。我想这是问题,因为我改变了原来的一个? 我应该如何更改我的代码,更改文件不会破坏卸载过程? 我应该在更改文件时更改执行顺序吗?
答案 0 :(得分:1)
对此的简单解决方法是将config.asp文件安装为config.asp.template
,并将其副本复制到config.asp
,作为自定义操作的一部分,更改您需要的位。
这样就不会触及原始文件并正确卸载。