言うだけ言ってみる

なんとなく記録。

VBで作ったアプリがWindows7 64bitで動かない場合

2012年09月04日 | Weblog
VB2008で作ったアプリがWindows7 64bitで動かない場合、以下を確認。

---
1.ファイルパスを決め打ちで記述していないか。特にC:\Program Files。
 OS依存するパスは、システム変数から取ってくるようにする。

2..NET Frameworkのバージョンを確認

3.構成をAny CPU→x86にしてビルド
---

WindwosXP sp1 32bitでは動くのに、Windows7 64bitだと
起動時に例外エラーで落ちてしまう場合、3.を試す価値あり。

自作のcomモジュールやらDLLやらをいろいろ呼んでいたので、
そのあたりの問題を潰した後、それでも動かず、最後に3.を
やってみたら動いた。

理由はよくわかりませんが、ご参考まで。
http://d.hatena.ne.jp/siokoshou/20091102

exeの場合、Any CPUで中立的にしておくよりも、x86と決めて
しまったほうが吉のようです。(今のところ)



<追記> 2013.03.27
64bitOSでの実行時に、Any CPUが指定された実行モジュールでは、
64bit用のDLLやOCXを探しに行ってしまうが、
x86が指定されていると、32bitモードで動かそうとしてくれるとのこと。


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。