2

Visual Studio インストーラーを使用しています。しかし、アンインストールするとき - add remove プログラムからすべてのファイルを削除するのではなく、フォルダにいくつかのファイルを残します。アンインストールですべてのファイルを削除するにはどうすればよいですか?

4

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