- - PR -
ログインしていないと「ActiveX コンポーネントを作成できません」エラーが発生する。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-06 09:55
こちらには初めて投稿させていただきます。宜しくお願い致します。
IIS5.0+ASP.NET2.0(VB2005)+MSDE2000でWEBアプリを作成しております。 クライアントから出力条件を指定して、WEBサーバー機にてCOMでWORD2003を CreateObjectしてデータを流し込んでいます。 一連の処理はうまく動作するのですが、一つ問題が発生しました。 WEBサーバー機にWindowsユーザーがログインしていない状態でクライアントから ブラウジングすると、「ActiveX コンポーネントを作成できません。」エラーが 発生するのです。 つまり物理的に誰かがWEBサーバ機にWindowsログインしていれば、クライアント から問題なくブラウジングできる状態です。 なんとなくユーザー権限の問題っぽいので、Dcomcnfgを見直してみたのですが 解決に至っておりません。 Dcomcnfgにて下記の設定を行っているのですが、何か足りない設定があるのでしょうか? 【COMセキュリティ】 <アクセス許可> <起動とアクティブ化のアクセス許可> ※下記のユーザーに対して上記全てを許可する。 インターネットゲストアカウント(USR_PC名) IISプロセスアカウントの起動(IWAM_PC名) ASPNET INTERACTIVE Administrators Domain User Everyone ご教授のほど宜しくお願い致します。 |
|
投稿日時: 2006-10-06 14:22
COMアプリケーションのプロパティで、
IDタブはどちらにしていますか。 ・対話ユーザー ・このユーザー 対話ユーザのままだと、ログインしていないとエラーになったきがしますが。 |
|
投稿日時: 2006-10-07 07:09
DCOM の ACL の問題ではなく、Word を CreateObjecet しているんですから、
当然その起動 user の profile が load されている必要があるでしょうね。 ASP.NET でも legacy の ASP でも基本認証を使用しない限り、Network Logon として扱われます。 Network Logon ですから当然 profile は読み込まれません。 |
|
投稿日時: 2006-10-10 15:01
とらさん、ちゃっぴさん、回答有難う御座います。
ご返答が遅くなりましてすみませんでした。 色々と設定を入れてしまった為、うまく動作するようになった設定の 検証に手間取ってしまいましたが、おかげさまで結果的に以下の設定 で解決できたようです。ありがとうございました。 1.サーバー機上にOfficeAutomationUserを作成する。 OfficeAutomationUserをAdministratorsグループに加える。 2.OfficeAutomationUserで一旦ログインし、WORDを起動する。 Alt+F11でVBAエディタを起動する。 WORDを終了する。 3.Dcomcnfgにて「DCOMの構成」内の「MicrosoftWord文書」のプロパティ を開き、「ID」タブ内を「このユーザー」に変更する。 ユーザー名はOfficeAutomationUserとしパスワードは割当てたものを使用する。 4.「マイコンピュータ」のプロパティの「COMセキュリティ」を開き、 下記の設定を行った。 【COMセキュリティ】 <アクセス許可>と<起動とアクティブ化のアクセス許可>に対して下記のユーザーを全て許可する。 SYSTEM INTERACTIVE Administrators ASPNET インターネットゲストアカウント(USR_PC名) IISプロセスアカウントの起動(IWAM_PC名) ●特定のユーザー アカウントで実行されるように Office アプリケーションを構成する方法 http://www.support.microsoft.com/kb/288367 |
1