3

Windows 7 (UAC が有効) に移行していますが、これにより、標準ユーザーが内部 Web アプリ用の ActiveX コントロールをインストールできなくなります。

昇格して実行できるローカル管理者アカウントにアクセスでき、必要な .cab ファイルを簡単に取得できます。.inf ファイルが尊重されるようにインストールする簡単な方法はありますか? 問題の .inf ファイルには、インストールを制御するためのフックが含まれているため、含まれている .ocx ファイルに対して単純に regsvr32 を呼び出すのは避けたいと思います。

基本的に、C# を使用して IE のインストール プロセスをエミュレートしたいと思います。ファイルは "Downloaded Program Files" に表示され、すべてのレジストリ設定は正しく書き込まれます。

ところで、Win7 マシンで利用できる「ActiveX インストール サービス」があることに注意してください。ただし、これは有効化/構成されていないようです。

追加情報

この質問は重複としてマークされており、確かに元の質問と似ていますが、私のシナリオではローカル管理者アカウントにアクセスできるため、質問は特に UAC の制限を克服するのではなく、IE のインストール プロセスをエミュレートすることに関するものです。@Ben は advpack (rundll32 経由) を使用した解決策を提案しましたが、調査を続けますが、私の環境ではこれを機能させることができませんでした。

その間、私は IE を使用してインストール動作を正確に再現する力ずくの方法を実装することができました。これには、「Downloaded Program Files」ディレクトリにファイルを見つけて抽出し、抽出した ocx/dll ファイルで regsvr32 を呼び出してから、次のレジストリの場所にエントリを追加する必要があります。

HKLM\SOFTWARE\Microsoft\Code Store Database\Distribution Units HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ModuleUsage HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls

現在、この情報で自分の質問に答えることができません。

4

1 に答える 1

1

グループ ポリシー、MOM などを使用して、必要なコンポーネントを展開します。

コンポーネントの管理インストールを実行するには、正しいコマンド ラインを作成するだけでよく、これをログオン スクリプトなどに追加できます。コンポーネントが「すべてのユーザーに対して」インストールされると、問題は解消されます。

それを行う方法については、別の質問です。

管理者または昇格されたアカウントとして実行していることを確認してください。

于 2013-03-05T17:35:48.217 に答える