- 締切済み
VS2003とVS2005におけるActiveXの違いについて
お世話になります。 テンプレートのまま何も追加してない 空っぽのActiveXに署名してFreeBSDに置いて Windowsから実行しようとしています。 ひと月ほど前にVS2003で上記のことを行い、 XPからIE6,IE7,IE8で動作を確認しました。 最近、VS2005で同様のことを行ったところ、 XP+IE6でインストールまで成功するものの、 実行されないという現象が起こりました。 ※インストールの成功は C:\Windows\Downloaded Program Filesに 入っていることで確認。 また、サーバのHTMLをローカルにコピーすると 正常にActiveXが実行可能。 そこで、もう一度VS2003に戻ってひと月前と 同じ手順でプロジェクトを作ったところ、 新しいプロジェクトで作ったActiveXも、 VS2005版と同じ現象が起こりました。 その際のエラーログは、次のようになりました。 ------------------------ 以下ログ ------------------------ *** Code Download Log entry (26 Jun 2009 @ 13:58:12) *** Code Download Error: (hr = 800c0400) Unknown Error!! Operation failed. Detailed Information: CodeBase: http://www.xxxxx.com/Plain2003.cab CLSID: {DDC859E4-5589-47BF-B14D-71FCEA506810} Extension: Type: LOG: Reporting Code Download Completion: (hr:800c0400 (FAILED), CLASSID: ddc859e4..., szCODE:(http://www.xxxxx.com/Plain2003.cab), MainType:(null), MainExt:(null)) --- Detailed Error Log Follows --- LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0). LOG: URL Download Complete: hrStatus:0, hrOSB:800c0400, hrResponseHdr:0, URL:(http://www.xxxxx.com/Plain2003.cab) LOG: Reporting Code Download Completion: (hr:800c0400 (FAILED), CLASSID: ddc859e4..., szCODE:(http://www.xxxxx.com/Plain2003.cab), MainType:(null), MainExt:(null)) ------------------------ ログ以上 ------------------------ 残っていたひと月前のActiveXに署名を付けて 試したところ、正常に動作しましたので、 署名を付けるプロセスについては問題ないものと 思われます。 一方、プロジェクトを作るプロセスですが、 ・新規 - ATLプロジェクト ・ソリューションエクスプローラを右クリック 追加 - クラスの追加 - ATLコントロール をしているだけです。 本当に同じように作っているか、心配なので、 ディレクトリごとDiffを取ってみると... ぜ~~んぜんちが~~~う。 とても同じ手順で作ったとは思えません。 後からVS2005を入れたせいで、 VS2003がおかしくなったのではないかと 思うくらいですが、 私が間違っているかもしれません。 目的はVS2005で動作するActiveXを作ることです。 この現象について何かお気づきの点があれば ご教授願います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Yanch
- ベストアンサー率50% (114/225)
ActiveX の CLASSID や、CLASS が重複してたりしませんか? もしユニークになってないなら、正しく動作しないかもしれません。
補足
>Yanchさま 確かに、VS2003で作ったプロジェクトは、 最初のものをひな形として使い回しているので、 CLASSIDが重複しています。 しかし、これらのActiveXは、ひとつインストールしたら、 もう一つを入れる前に先に入れたものを消しているので 問題ないと勝手に思っていました。 今後は重複したものをインストールしないようにします。