1

遅延モードで実行されるカスタム アクションを含む wix で構築されたインストーラーがあり、ローカル マシンでの管理者権限が必要です。

インストーラーは、ローカル マシンで管理者アカウントを使用すると正常に動作しますが、管理者グループのアカウントを使用すると動作しません。レジストリにキーを割り当てようとしているときに、権限が不十分であるという例外が発生します。Impersonate="no" を使用することはオプションではありません。このアクションには、ローカル マシンでも管理者権限が必要であり、時々異なるネットワーク共有にアクセスする必要があるためです。「ネットワーク共有アクセス」のレベルを、アプリケーションのインストールに使用するアカウント (管理者アカウントではなく) によって決定したいと思いますが、解決策がないように思えます。喜んでいただければ幸いです。

4

1 に答える 1

1

UAC を適切に処理していないようです。私の推測では、セキュリティ ポリシーはそのユーザー アカウントに対してのみ UAC を無効にしますが、管理者グループの他のすべてのメンバーに対しては UAC を有効にするため、インストールは管理者ユーザーで機能します。

カスタム アクションは、UAC が有効になっているユーザーを偽装する場合、フィルター処理された (管理者以外の) セキュリティ トークンを使用します。カスタム アクションは、管理者グループのメンバーが実行できることを実行できると想定していますが、セキュリティ トークンに管理者グループが含まれていないため、アクセスが拒否されています。

これをどのように修正する必要があるかは、カスタム アクションが何をしているかによって異なります。ユーザーとしてネットワーク共有にアクセスするために偽装する必要があることは正しいです。おそらく、カスタム アクションを 2 つの別個のアクションに分割できます。1 つは偽装してネットワーク共有にアクセスし、もう 1 つは管理者レベルのタスクを実行します。

これをインストールするコンピューターを完全に制御できる場合、回避策として、インストール中に UAC を無効にすることが考えられます。インストールが完了したら、再度有効にすることができます。

于 2013-09-11T07:09:34.773 に答える