0

Qmuzik ERP ソフトウェアの古いバージョンをネットワークから削除し、新しいバージョンをインストールするアプリを作成しています。C# の Process メソッドを使用して、cmd コマンドで msi を実行し、新しいバージョンをインストールしました。私が使用するコマンドは次のとおりです。

msiexec /qn /i "MSI Path" 

これは美しく機能します。

私がこれを行っている理由は、順番に実行する必要がある msi が複数あるためです。process メソッドを使用して、プロセスを監視し、プロセスがいつ完了したかを検出して、シーケンス内の次の msi を実行できます。これらはすべて、ユーザーの PC で静かに行われます。

問題は、新しいバージョンをインストールする前に、以前のバージョンをアンインストールする必要があることです。古いバージョンは、exe セットアップ ファイルを使用してマシンにインストールされていました。exeファイルをmsiに変換し、msiexecを使用してコマンドラインからアンインストールしようとしましたが、変換されたmsi(ネットワーク全体)ではなく、exeでインストールされたインスタンスには影響しません

exe を使用してインストールされたこれらのインスタンスをアンインストールするために cmd で使用できるコマンドはありますか?

4

3 に答える 3

4

Windows にプログラムをインストールすると、そのアンインストール用のレジストリ キーが作成され、いくつかの値が保持されます。その中には、 [プログラムの追加と削除] が [削除] をクリックしたときに使用するコマンド ラインであるUninstallString値があります。

親キーは次のとおりです。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

そして、これらのUninstallStringsは通常、次の形式になっています。

MsiExec.exe /I{0826F9E4-787E-481D-83E0-BC6A57B056D5}

実行しようとしている操作を完了するには、RegistryKey オブジェクトを作成し、削除するアプリケーションのUninstallString値を読み取り、コマンド ラインを実行する必要があります。

詳細はこちら

于 2012-06-07T13:30:35.353 に答える
0

アンインストール機能ではなく、アプリケーションの登録済みアンインストール文字列を表示するメイン ビューに revo uninstaller を使用できます。

しかし、それは出発点にすぎません。すべてのセットアップ エンジンは、独自のアンインストール文字列を持つことができます。運が良ければ、正しいものを見つける必要があります (正しいものが見つかるまで、/quiet、/passive などを試してください)。

于 2012-06-07T19:01:46.200 に答える
-3

ファイル パスに移動し、アンインストールする必要がある .exe を探します。コマンド プロンプトで、配置された .exe のパスを開き、「xxxx.exe --uninstall」を実行します。

于 2017-08-21T07:18:49.747 に答える