Open棟梁Project - マイクロソフト系技術情報 Wiki
WOW64についての情報を纏めている。
Program Files のフォルダの場合は少々勝手が違ってきます。
WOW64で動作しているアプリでSHGetFolderPath()APIを使用し、 CSIDL_PROGRAM_FILES_COMMONを指定しています。 すると、Program Files\Common Filesではなく、 Program Files (x86)\Common Filesが取得されます。
こちらにも同様に32bit設定と64bit設定があるようです。
ホストするアプリが32bitの場合、対象アプリが64bitでも、
32bitのコード アクセス セキュリティ ポリシー設定を参照するようです。
IE9(32bit) → Excel2010(64bit) → DLL(64bit) といった動作をする場合、 実行するプロセスは 64bit だが、CAS 設定は IE9 から、32bit のものを参照している。
32ビット版のCScriptコマンドを使ってVBScriptのプログラムを実行するには、
CScriptコマンドを「C:\Windows\SysWOW64\CScript.exe」と記述します。
Windows 7(64bit) / Office 2010(32bit) 環境での検証結果
※1:C:\Windows\System32\odbcad32.exe
※2:C:\Windows\SysWOW64\odbcad32.exe
なお、OLEDBについては、2008R2 64bit上で32bit、64bitの両方の
Jet OLE DB プロバイダが存在し、それぞれ動作したことを確認しています。
問題は、OLEDBが64ビットに対応していない件ですが、以下の代替のドライバがあり、
これをインストールしてConnectString?を変更することにより、プログラム変更なく動作しました。
OO4Oは64bit対応がされていないようです。
64bitと直接関係ありませんが、
最近、以下の問題がありました。
[原因] 現在開発部門で調査中ですが、インストール時にoip11.dllのレジストリ登録に 失敗し、OracleInProcServerがCOMコンポーネントとして登録されていない状態 となることが直接的な原因です。 ・・・ [回避策] 次の手順にしたがって、手動でレジストリへ登録してください。 (1) コマンド・プロンプトを開きます。 (2) 次のコマンドを実行します。 cd %ORACLE_HOME%\bin <== インストール先のORACLE_HOMEのパスを指定 regsvr32.exe oip11.dll regsvr32.exe oradc.ocx