Visual Studio インストーラーを使用しています。しかし、アンインストールするとき - add remove プログラムからすべてのファイルを削除するのではなく、フォルダにいくつかのファイルを残します。アンインストールですべてのファイルを削除するにはどうすればよいですか?
質問する
2423 次
2 に答える
0
ソフトウェアをクリーンアップする (カスタム ファイルまたはユーザー生成ファイルを削除する) には、カスタム アクションを作成し、インストーラーの [アンインストール]セクションに追加する必要があります。
カスタム アクションは、クラスから継承するクラス ライブラリにすることができますSystem.Configuration.Install.Installer
。
アンインストーラ カスタム アクションの実装例を次に示します。
[RunInstaller(true)]
public partial class CustomUninstaller : System.Configuration.Install.Installer
{
public CustomUninstaller()
{
InitializeComponent();
}
public override void Uninstall(IDictionary savedState)
{
if (savedState != null)
{
base.Uninstall(savedState);
}
string targetDir = @"C:\Your\Installation\Path";
string tempDir = Path.Combine(targetDir, "temp");
try
{
// delete temp files (you can as well delete all files: "*.*")
foreach (FileInfo f in new DirectoryInfo(targetDir).GetFiles("*.tmp"))
{
f.Delete();
}
// delete entire temp folder
if (Directory.Exists(tempDir))
{
Directory.Delete(tempDir, true);
}
}
catch (Exception ex)
{
// TODO: Handle exceptions here
}
}
}
于 2015-04-28T18:37:40.517 に答える
0
インストーラーは、インストールしたファイルのみを削除します。インストール後に作成されたファイルは削除されません。クリーンアップを実行するには、カスタム アクションを作成する必要があります。
于 2013-01-09T06:27:57.940 に答える