• 締切済み

Vista64bitとVS2005における、MsScriptのCLSI

Vista64bitとVS2005における、MsScriptのCLSIDの違いについて。 【動作環境】 ・Windows Vista 64bit ・VS2005 sp2 ・IIS7 ・Oracle 11g 以上の環境で、.NETの自社パッケージソフトの運用テストを行っています(32bit→64bitへの移行対策です) その中で、「MsScriptControl.ScriptControl」という参照設定を行っているのですが、ビルドは成功するのに、実際にWEBで運用するとこのdllを使用する際に参照エラーになってしまいます。 調べてみた所、レジストリ内で 「MsScriptControl.ScriptControl」のCLSIDは「0E59F1D5-…」なのに対し、実際に「C:\Program Files\Microsoft Script Control\msscript.ocx」が入っている場所のTypeLibのCLSIDは、「0E59F1D2-…」となっており、一文字だけ違っています。 このためだと思うのですが、WEBを実行中にMsScriptを呼び出そうとすると、 エラーが起きました(CLSID {0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154。) というエラーが起きてしまいます。 何故、同じファイルを参照しているはずなのにCLSIDがレジストリ内で違ってしまっているのか、調べているのですが情報が少なくて行き詰っております。 VS2005のコンパイル自体はAny CPUで行っておりますので、MsScript自体が32bitであることは問題ありません。 どうか、ご助力いただけたらと思います。 どうぞ、よろしくお願いします。

みんなの回答

  • WebSurfer
  • ベストアンサー率55% (33/59)
回答No.1
tuma935
質問者

お礼

ご回答ありがとうございました。 その後、一応?現段階での解決策が取れましたので、ご報告させていただきます。 まず、VS2005でのビルドですが、「構成マネージャ」の「アクティブソリューションプラットフォーム」の設定は、ご指摘の通りx86にしなければなりませんでした。 その上で、各プロジェクトのプラットフォームは「Any CPU」と設定します。 今回作成しているプロジェクトではASP.NETを使用しているため、「アクティブソリューション構成」は、「Debug with ODP.NET」となります。 Webプロジェクトファイルのプラットフォームは「.NET」となります。 この上で、「MsScriptControl.ScriptControl」という32bitのMS提供のdllを動かす為には、IISでの設定が必要になります。 私の環境ではIIS7.0となりますが、.NETプロジェクトが所属しているアプリケーションプールを選択し、「アプリケーションプールの規定値の設定」を開き、「32ビットアプリケーションの有効化」を「True」とします。 そして、Oracleも32bitのものに変更します。 Oracle11gには32bit版が配布されておりますので、2.111.6.0の32bit版をインストールしてそのOracle.DataAccess.dllを参照し、VS2005sp2でビルドを行います。 詳しい解説は、上記でご教授いただいたページと、以下のURLに詳しいと思いますので、 もしこの質問に検索でたどり着いた方は参照にされるとよいかと思います。 http://blogs.msdn.com/nakama/archive/2008/11/13/part-3-asp-net-2-0-web-64.aspx 結局は、64bitOSの環境上ではありますが、64bit版内にあるエミュレーターを使って32bit版のプロジェクトを動かしている、という結果となりました。 以上になります。 ご助力、ありがとうございました。

関連するQ&A

  • VISTA64bit,VS2005/C++で対象コンピュータを「x64

    VISTA64bit,VS2005/C++で対象コンピュータを「x64」にして簡単なプログラムをビルドすると以下のエラーが出てしまいます。 「1>.\Debug\stdafx.obj : fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 OS   :VISTA Ultimate64bit CPU   :Xeon5080(64bit), 開発環境:VS2005 Team Edition for software developers完全インストール ◎OSもCPUも64bit対応なのに何故かモジュールのコンピュータは32bitでビルドしてしまいます。解決方法はありますでしょうか? 追記:気になることは、VS2005が普通の「Program files」のフォルダではなく「Program Files(x86)」に強制的にインストールしてしまうことです。

  • Becky!(Vista Ultimate 64bit)が使えません。

    初めまして、 Becky!(メールソフト)がうまく動作しないので困っています。 このBBSへ投稿するのは初めてなので失礼がありましたごめんなさい。 Becky!BBSでも質問していますが、 原因が他にも考えられる場合があるのでこちらにも質問を書いています。 Becky!がVista 64bit動作対応していないだけかと思っていましたが ネット検索した所、Vista 64bitでも正常に動いている人もいるようなので どうにか使えないかと色々と設定変えたりしていますが未だにできません。 OS : Vista Ultimate 32bit & 64bitをデュアルブートで使用しています。 32の方は正常に送受信出来るのですが、64はアイコンがずっと回っているだけで メールサーバーにID、PASSを送って認証している様子はありません。 Vista Ultimate 64bit上からは  C:Vista Ultimate 64bit  F:Vista Ultimate 32bit  C:RimArts(Becky!プログラム) C:Becky(メールデータ) Vista Ultimate 32bit上からは  C:Vista Ultimate 32bit  D:Vista Ultimate 64bit  C:program¥RimArts(becky!プログラム) C:Becky(メールデータ) Vista Ultimate 32bitを起動するとFドライブはCとして認識されます。 何が原因で送受信が出来ないのでしょうか。。。? 考えられる原因がわかる方教えて下さい。 どうぞ宜しくお願い致します。 (詳細なPC環境等、必要ならば追記します。)

  • ビットデータの取得方法について

    32    24 23  16 15    87    0 +--------+--------+--------+--------+ |11000111 |11000111 |11000000 |00000000 | +--------+--------+--------+--------+ ↑のようなビット情報から 24-34bitの1byteにデータa 22-23bitの2bitにデータb 16-21bitの6bitにデータc 14-15bitの2bitにデータd がつめられている場合 データa,b,c,dを参照するためにCで (1)シフト演算で参照する方法 (2)構造体のビットフィールドで参照する方法 をご教授いただけないでしょうか?

  • AfterEffectsならどっち?【新CPU】 VS 【64ビット+12Gメモリ】

    はじめまして フリーランスで活動している映像クリエーターです。 ハードに関して弱く次期導入PCのスペックについて迷っています。 AfterEffectsでHD編集するのにCorei7 920 http://bit.ly/kloze(参考:Vista 64bitモデル) 新i7 860 http://bit.ly/2cUQdb(参考)とでどっち近いスペックでPCを作るのがいいのでしょうか? 迷っているのは【新CPU】 VS 【64ビット+12Gメモリ】でどちらが快適に作業が出来るかです。 よろしくお願いします。

  • ビット演算のやり方

    a=10101,b=11011,c=10001という文字があり まずこのa,b,cを一列に並べ d=101011101110001という文字列にした後に、これを5bit単位にわけ その中の下位4bitを使い並べるとした時どうしたらいいでしょうか? 5bit単位とは次のように分けます d=10101 11011 10001 それで分けた5bitごとに下位4bitを適用するとして、 dは0101  1011  0001となり 結果をe=010110110001とするにはどうしたらいいでしょうか?

  • WindowsXP MCE から Windows Vista(64bit) へのアップグレードは可能?

    64bit動作可能な Pentium D の CPU を使って Windows XP Media Center Edition を利用しています。 Windows Vista への乗り換えを検討しており、  ・導入するなら Home Premium か Ultimate  ・せっかくだから 64bit 版 を入れようかと考えているのですが、 例えば「Windows Vista Home Premium アップグレード版」のパッケージを購入し、 「Windows XP MCE (32bit)」から「Windows Vista Home Premium (64bit)」へのアップグレードは可能なのでしょうか? 情報を探してはいるのですが、この手の情報が見つかりませんでした・・・。 もしも無理そうであれば、Windows XP MCE の環境を全て消して、 DSP 版の Windows Vista の 64 bit 版を購入してクリーンインストールしようかと考えています。 ご存じの方、よろしくお願い致します。

  • レジストリキーの削除

    よろしくお願いします。 レジストリの掃除でフリーソフト「EasyCleaner」で検出された不要なレジストリの削除を指示してもいくつか(22)残って削除できません。レジストリエディタで追跡すると存在します。ここでもエラーが出て削除できません。 レジストリのアクセスの所有者なども変更しましたができません。 ちなみに例えばこんなキーです。 「HKEY_LOCAL_MACHINE Software\Classes\TypeLib\{5F099F16-6A6E-4BBC-8BD8-98F3221D58C4}\1.0\0\win64」 何が原因でしょうか又削除する方法があれば教えて下さい。 レジストリはバックアップして試行しています。 又このソフトはXPまでの対応ですが害がなく気に入っているので使っています。 CCleanerも使っていますがこちらには検出されません。

  • ウイルスの削除方法について

    TROJ_HARNIG.GENというトロイの木馬タイプに感染しました。そのため、レジストリ値を削除しようと思うのですが、HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{64E40826-F9E2-445D-969C-EE27EEF4D0DC}\InProcServer32 と HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{64E40826-F9E2-445D-969C-EE27EEF4D0DC}\InProcServer32 のファイルが見つかりません。 どのように対処したら良いですか?

  • windows764bitのインストール

    現在windows732bitで動作しております。で、windows64bitにしたいのですが、32bitwindows7はvista環境からのupgradeでインストール時にはvistaからの移行でした(クリーンインストールしましたが)。メディアがwindows7のhomepremiumで32bitと64bitのディスク2枚のupgrade版もってます。64bitにするにはどうすればよいでしょうか?vistaはhomepremiumのDSP版があります。システムはCドライブドキュメント関連は別のDドライブに保存してます(HDは2台)。64bitにしたときアクティビティなどはうまくいこのかも心配です

  • レジストリについて教えて下さい

    オンラインなのですが時々Windows Live OneCare PC セーフティでの不要レジストリの削除を行っております 何かのソフトヤファイルを削除した訳でも無く現状で暫く検出される不要レジストリは無かったのですが 以下5個のレジストリが不要として検出される様になりまして Windows Live OneCare PC セーフティでの削除をするのですが 再起動の度に何度も再度検出される様になりました。 何かの不具合や破損が生じているのかというのも利用上では問題無く確認は出来ていませんが 毎回検出されて削除のままで良いのか詳しい方の意見では不具合があるのかが分らず 知識不足でのレジストリの操作は危険を伴うと思いましてお問い合わせさせて頂きました。 ご指導宜しくお願い致します。 HKCR\CLSID\{F9AE8981-7E52-11d0-8964-00C04FD611D7}\VersionIndependentProgID\ HKCR\CLSID\{F9AE8981-7E52-11d0-8964-00C04FD611D7}\ProgID\ HKCR\CLSID\{C7B6C04A-CBB5-11d0-BB4C-00C04FC2F410}\ProgID\ HKCR\CLSID\{C7B6C04A-CBB5-11d0-BB4C-00C04FC2F410}\VersionIndependentProgID\ HKCR\CLSID\{F9AE8980-7E52-11d0-8964-00C04FD611D7}\ProgID\ 環境はXPホーム・IE6 セキュリティはSpybot・AVGです