機能するために ActiveX コントロールが必要な Web アプリに取り組んでいます。ユーザーが管理者権限を持っている場合は問題なくインストールされますが、それ以外の場合はロードに失敗します。これは仕様によるものですか? もしそうなら、これはどこかに文書化されていますか? (できれば MSDN)
3 に答える
実際、これらの答えはどれも完全に正しいわけではありません。ユーザーごとに ActiveX コントロールをインストールすると、ユーザーが属するグループに関係なく、管理者権限がなくても問題なく動作します。
ActiveX コントロールの内容によっては、これが簡単な場合もあれば、変更が難しい場合もあります。ATL 9 では、関数を呼び出すだけなので、非常に簡単です。
AtlSetPerUserRegistration(perUser);
FireBreathはデフォルトでこれを行うため、プラグイン/コントロールをインストールするために管理者権限は必要ありません。また、古いバージョンの ATL (ATL 9 は VS 2008)の回避策もあります。これはすべて C++ であるため、コントロールが別の言語で記述されている場合、修正方法はわかりませんが、少なくとも開始する必要があります。
複雑な答え: はい。 ユーザーのアカウントは、ライブラリ (dll) またはコントロール (ocx) を登録する特権を与えるグループの一部であるか、特権を直接割り当てる必要があります。
簡単な答え: いいえ。OCX または DLL をインストールする管理者特権を持つアカウントのみが Active-X コントロールをインストールできます (デフォルトでは、これらのアカウントは管理者、ドメイン管理者、またはパワー ユーザー グループの一部です)。
編集:この質問は変更されたと思います...はい、これは設計によるものです。
Vista で IE8 を使用している場合は可能です。
http://msdn.microsoft.com/en-us/library/dd433049%28VS.85%29.aspx