6

Visual Studio セットアップ プロジェクトを作成しています。コンポーネントのインストールから、システムから別のコンポーネントをアンインストールしたいと考えています。もう 1 つのコンポーネントは、Visual Studio を使用して作成した独自のセットアップからインストールされます。

現在、コンポーネントのインストール アクションから他のコンポーネントのアンインストールを呼び出すと、エラー コードが表示されます1618 (another MSI already running)

この問題を解決する別の方法を誰かに提案してもらえますか?

4

3 に答える 3

1

他のコンポーネントのアンインストールを実際に実行する必要がない場合は、カスタム アクションを使用して、置き換える予定のファイル/フォルダーを削除できます。

カスタム アクションを使用すると、アンインストーラーが実行するすべてのクリーンアップ アクションを実行する必要があります。

何かを置き換えようとしているのですか、それともまったく別のものをインストールした結果として何かをアンインストールしようとしているだけですか?

MSDN カスタム アクションのチュートリアル

また、カスタム アクションに役立つ Phil Wilson の記事をいくつか読みました
。Phil Wilson on Custom Actions

于 2008-10-13T12:32:23.440 に答える
1

複数のインストールを一緒に実行する必要があり、MsiExec を再帰的に実行する方法が見つからないという同様の問題に遭遇しました。私が使用した解決策は、MsiExec を 1 回実行して古いパッケージをインストール/アンインストールし、次に新しいインストーラーを実行するスクリプトをインストーラーにバンドルすることでした。クライアントはスクリプトを実行してインストールする必要がありました。

より良い方法を見つけたら、お知らせください。

于 2009-04-08T17:56:01.243 に答える
0

uninst.exeセットアップの開始中にシェルコマンドを使用してそのプログラムを実行できると思います.....

于 2008-11-05T03:55:36.143 に答える