0

カスタム インストーラ dll を作成しましたが、すべて正常に動作しています。Uninstall現在のインストールから別のインストーラーのメソッドを呼び出したいだけです。これを行うと、error code 1618(別のインストーラーが既に実行されていることを示します) が表示されます。ただしuninstall、テスト プロジェクトから同じ製品の を呼び出すと、正常に動作しています。

誰でもこれに対する解決策を提案できますか?

現在のインストーラーから別のアプリケーションをアンインストールできますか?

4

2 に答える 2

1

私の知る限り、別のインストーラーからインストーラーを呼び出す (インストールまたはアンインストールする) ことはサポートされていません。以前のバージョンの Windows インストーラーではサポートされていましたが、現在は廃止されており、それでも他の製品のアンインストールがサポートされているかどうかはわかりません。現在推奨される方法は、ブートストラップを使用して前提条件を確認してインストールすることです。理論的には、カスタム ブートラッパーを使用して製品をアンインストールすることもできるはずですが、それを作成するのは簡単なことではありません。また、ユーザーのマシンから何かを静かにアンインストールすることは、必ずしも良いことではありません。Visual Studio 2005 Generic Bootstrapper を使用すると、他の製品がインストールされているかどうかを確認し、ユーザーにアンインストールを求めるブートストラップを生成できるはずです。

于 2008-10-14T09:05:39.160 に答える
0

この他の製品が自分のものである場合 (したがって、インストーラーが実行する必要があることにアクセスできる場合)、または何か汚いことをしたい場合は、ファイル/レジストリ エントリ/などを自分で削除してから、レジストリでプログラムの登録を解除してみてください ( HKEY_LOCAL(MACHINE|USER)\Software\Microsoft\Windows\CurrentVersion\Uninstall\{PROGRAM})。これまでで最高のアイデアというわけではありませんが、インストーラーが何をすべきかを知ることができれば、うまくいくでしょう。

于 2008-10-14T08:25:59.753 に答える