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 に答える