3

Installshield 2012 で基本的な MSI を使用してインストールを作成しました。

連鎖 MSI テクノロジを使用しています (Windows インストーラ 4.5 以降でサポートされています)。

私のインストールは、メイン MSI (Setup.exe 内) と、メイン MSI にチェーンされたいくつかの小さな MSI パッケージで構成されています。

XPでは、それは魅力のように機能します。問題なくインストールできます。アンインストールする場合は、Main-MSI をアンインストールすることを選択するだけで、チェーンされたすべての MSI が自動的に削除されます。

ただし、Vista と Windows 7 では、アンインストール時にユーザー権限の問題が発生します。

メイン MSI をアンインストールすることを選択すると、それ以上の通知なしに停止します。MSI ログ ファイルを調べると、チェーン化された最初の MSI をアンインストールしようとすると、次のように表示されます。

エラー 1730。このアプリケーションを削除するには、管理者である必要があります。このアプリケーションを削除するには、管理者としてログオンするか、テクニカル サポート グループにお問い合わせください。

チェーン化された MSI でアンインストール文字列を呼び出しているのは Main-MSI であるため、昇格された権限では発生しないと思います (Setup.exe を管理者権限を要求するように設定したとしても、これも要件です)。 .

だから私の質問は今です-これを回避する方法はありますか-これが機能するために設定する必要があるInstallShieldの隠れたコーナーにフラグがありますか?

現在の一時的な回避策は、チェーンされたすべての MSI パッケージを手動でアンインストールし、最後にメインの MSI をアンインストールすることですが、これは確実な解決策ではありません。UACを無効にすることもオプションではありません。

私はこの問題で完全に道に迷っており、私のグーグル検索では何か役に立つものは得られなかったので、あなたが助けてくれることを願っています.

4

2 に答える 2

1

実際、解決策は単純ですが、あまりユーザー指向ではありません。インストールおよびアンインストール中に、新しい /qb ダイアログ ウィンドウが表示されます。チェーンされた MSI のインストール ユーザー インターフェイスをなし(/qn) から基本
(/qb) に 変更する必要があります。これは、メインの MSI がチェーンされた MSI に管理者権限を渡さず、UAC が有効な非表示モードでエラーが発生するためです。また、チェーン化された MSI のホワイト ペーパーを参照することをお勧めします。

于 2014-04-22T09:26:58.890 に答える