• ベストアンサー

C#のアプリケを64bit版のOSで起動させたい

以下の内容で作成されたアプリケーションをWindows7 64bit版で起動できるようにしたいのですが、 エラーが出てしまい起動出来ません。 ■アプリケーションについて  ・OS:Windows7 32bit  ・開発ツール:Visual C# 2008  ・エラー内容:DLL'olepro32.dll'を読み込めません:指定されたモジュールが見つかりません。 自分はC#の知識がまったくなく、かつ緊急の対応で困っています。 対応方法などご存知の方がいらっしゃいましたら、ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#259269
noname#259269
回答No.2

メッセージどおり、olepro32.dll が読み込めないせいでしょう。このファイルは、64bit の 7 では \Windows\Syswow64 に含まれています。 C# でビルドするときに Any CPU でビルドすると、64bit OS 上では 64bit モジュールとして実行するので \Windows\System32 下にあるものを検索にいきます。 構成マネージャで、ターゲットプラットフォームを x86 にしてから(Any CPU からコピーして作成)、ビルドすれば動作するようになると思います。つまり、このアプリは 32bit モジュールです、と指定するワケです。

cliosworld
質問者

補足

edp3142様からご教授いただいた通りの手順でdebugすることは出来ました。 ですが、同手順でReleaseを行うと"~メタデータが見つかりませんでした。"とエラーが表示されてしまいます。 この場合のエラー回避はどのようにすれば良いでしょうか? たびたびの質問で恐縮ですが、お知恵をお貸しいただければと思います。 よろしくお願い致します。

その他の回答 (2)

noname#259269
noname#259269
回答No.3

#2 です。補足に対してご返信します。そのようなケースは遭遇したことがないので正直よくわかりません。 正攻法的には、下記を参考にするのでしょうけど、 http://msdn.microsoft.com/ja-jp/library/a92dycyz(v=vs.90).aspx Debug ビルドは成功するというあたりからして、VS2008 のバグっぽい気もします。VS2008 SP1 とインテリセンスがおかしくなる修正プログラムは適用していますか? エラーメッセージでググった場合、下記のような情報がありますね。 http://blog.goo.ne.jp/ramito/e/b4f8a71ae9e68cf22cd1ce00a66c5b21

cliosworld
質問者

お礼

debagフォルダをリネームしてビルドし直したところ、問題なく動作しました。 いろいろとご対応ありがとうございました。 ありがとうございました。

回答No.1

C#がどうのではなく「OLEのランタイムDLLが無い」と言われています。 普通はOSやらIEやら入れたときに勝手に入っている物なのですが・・ とりあえず、参考URLからダウンロードして入れてみるのもありかと。

参考URL:
http://www.vector.co.jp/soft/win95/util/se188840.html

関連するQ&A