2017-09-25 10 views
2

私はアンインストール手順でカスタムアクションを持つVisual Studioセットアッププロジェクトを持っています。Visual Studioセットアッププロジェクトでアンインストールをバイパスできますか?

このカスタムアクションでは、ユーザーがいくつかの資格情報を入力できるウィンドウが表示されます。資格情報が正しい場合は、アプリをアンインストールします。それ以外の場合は、アプリをインストールしたままにします(アンインストール手順を省略)。

thisのようなカスタムインストーラクラスを作成しました。

私のニーズに適応したコードは以下の通りです:

public override void Uninstall(IDictionary savedState) 
{ 
     var window = new CredentialManager(); 

     if(window.ShowDialog() == DialogResult.OK) 
     { 
      base.Uninstall(savedState); 
     } 
} 

資格証明は、私は、ユーザーの資格情報を取得し、それらが正しいかどうかを決定するために使用私のフォームです。

私は、条件が確認されてもアプリケーションをアンインストールすると思うが、とにかくそのアプリケーションをアンインストールする! Uninstallメソッドを空のままにしても、アプリをアンインストールします。

私が欲しいものを達成する方法を知っていますか?

ありがとうございました。

+0

私もbase.Uninstall(null)を試しました。それは仕事をしない –

答えて

0

私は最後に、アンインストール手順をキャンセルするときに例外をスローしました。これは、ユーザーにエラーメッセージを提供し、アンインストール手順をロールバックできるので、実用的な解決策です。

関連する問題