0

Installshield で基本的な MSI パッケージを開発しました。サイレント インストールを行うために、ビルド時にのみ MSI コマンド ライン引数 "/qb+" を含めました。これにより、期待どおりにサイレント インストールされます。

ただし、以前にインストールしたコンポーネントをアンインストールする目的で同じ EXE を再度実行すると、実際には再インストールまたは修復が行われますが、アンインストールは行われません。インストールとアンインストールで同じ EXE を起動したいと考えています。出来ますか?

よろしく、
アビジット

4

2 に答える 2

2

これは、インストール済みのパッケージに対してデフォルトでメンテナンスが実行され、デフォルトのメンテナンスでは何も行われないために発生します。必要に応じて msiexec をインストールおよび/または再インストールする方法と同様のアプローチでこれをハックできる場合がありますが、REINSTALL を使用する代わりに、UILevel > 3 またはインストールされていない場合に REMOVE を設定してクリアしてみてください。

于 2011-04-27T14:06:42.773 に答える
1

これがテスト用の EXE なのか、公開用の EXE なのかは不明です。公開する場合、「最小の驚きの原則」に沿って一般的にどのように機能するかを変更しません. つまり、ユーザーは何を期待すべきかを知っている必要があります。

私は通常、setup.exe ランチャーを使用せず、圧縮された単一の MSI ファイルを使用します。setup.exe のすべての起動ロジック (前提条件のチェック、Installshield エンジンのチェック、未知の Installshield など - 神は彼らがすべての遅さで何をしているのかを知っている) を実行するわけではないため、インストールとアンインストールがより迅速に行われます。エクスプローラーでコンテキスト メニューが表示されるので、MSI を右​​クリックして [アンインストール] を選択すると、パッケージを簡単にアンインストールできます。

于 2011-04-27T21:36:36.110 に答える