0

Visual Studio 2008 のセットアップ プロジェクトによって行われた msi アンインストールをキャンセル/ロールバックする必要があります。

これは、Uninstall Custom Action として実行するスクリプトです。

set service = GetObject ("winmgmts:")
for each Process in Service.InstancesOf ("Win32_Process")
    If Process.Name = "App.exe" then
        Set WshShell = CreateObject("WScript.Shell")
        intButton = WshShell.Popup("App is running, you cannot uninstall it", 0, "Uninstall error", 0)
    End If
next

プロセスが実行されているときにメッセージが表示されますが、「OK」をクリックした後、ロールバック/キャンセルしたいときにアンインストールが続行されます。

ありがとう

4

1 に答える 1

0

例外をスローするとどうなりますか?

覚えるのに苦労していますが、これを行うアンインストーラーコードを書いたことがあり(偶然ですが、幸いなことに開発環境で!)、アプリをアンインストールしようとして大変な仕事をしたと思います(アンインストールをロールバックし続けたため)例外にヒットしたとき)。

于 2013-01-18T15:33:02.347 に答える