0

Visual Studioプロジェクトからプログラムをアンインストールしようとしていますが、管理者として実行する必要があるようです。そのため、cmdからこれを実行してデバッグしてみました。

cmdから次のコマンドを使用して、msiセットアッププロジェクトのインストールをアンインストールできました。

msiexec / x {3A40307D-6DF2-4412-842F-B1D848043367} / quickですが、管理者としてcmdを起動した場合にのみ機能し、管理者権限がないとアンインストールされません。私は何を間違っているのですか?私が望む結果を得るための別のアプローチはありますか?

ユーザーに管理者としてログインするように依頼することなく、アプリケーションをサイレントアンインストールできるようにしたい。

編集:

これはログからの結果です:

エラー1001。エラー1001。ファイルC:\ ProgramData\XXX.InstallStateを削除できません。デバッグ:エラー2769:カスタムアクション_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstallは1つのMSIHANDLEを閉じませんでした。インストーラーで、このパッケージのインストール中に予期しないエラーが発生しました。これは、このパッケージに問題があることを示している可能性があります。エラーコードは2769です。引数は次のとおりです。_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall、1、CustomAction_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstallは実際のエラーコード1603を返しました。戻り値3。アクションは17:54:40で終了しました:インストール。戻り値3。MSI(s)(F0:3C)[17:54:40:355]:製品:XXX-削除に失敗しました。

4

2 に答える 2

0

ここにはいくつかのオプションがあるようです。それらはすべて、最初から管理者権限を必要としないmsiを作成する必要があります。msiが最初からそれらを必要とする場合(たとえば、msiの作成を制御できない場合)、それを回避する方法はありません。管理者権限が本当に必要かどうかは、編集するファイルによって異なります。この回答を確認してください:管理者アクセスを必要としないWindowsインストーラーMSIを作成するにはどうすればよいですか?

于 2013-03-17T15:29:41.723 に答える
0

ログファイルからのそのエラーは、カスタムアクションがクラッシュしていることを示しています。その問題の根本的な原因を調査する必要があります。私の推測では、カスタムアクションが正しく機能するには昇格(管理者権限)が必要ですが、延期とはマークされていません(つまり、MSIが昇格された部分で実行されます)。

[プログラムの追加と削除(プログラムと機能)]からMSIのアンインストールを開始した場合、昇格された資格情報の入力を求められることはありません。したがって、根本的な問題はおそらくこのカスタムアクションです。

于 2013-03-17T21:31:46.547 に答える