• 締切済み

32bit化したEXEが64bitOSで動かない

VB.NETで作成しているシステムがあり、当システムが64bitOS上では動かないことが判明したため、プラットフォームを「Any CPU」から「x86」に変更し、各端末のEXEを差し替える対応を行いました。 これによりほぼ全ての端末でシステムが動くようになったのですが、一台だけ「Any CPU」では動いていたのに、「x86」に差し替えると動かなくなった端末がありました。 その端末はWindows7の64bitOSなので、普通であれば「Any CPU」では動かず、「x86」で動くはずなのですが、まったく逆の現象が発生し、原因がわかりません。 この現象の要因としてどのようなことが考えられるでしょうか?

みんなの回答

noname#212058
noname#212058
回答No.2

WoW64 を使って32ビットアプリを動かしているということですね。 私も似たような現象が発生したことがありますが、その時は問題のPCに「内部で32bitにしか対応していないライブラリ」が使用する C++ パッケージが、64ビット版しかインストールされていなかった (32ビット版がインストールされていなかった) というお粗末な原因でした。参考までに。

re_na_chu
質問者

お礼

ご回答ありがとうございました。 もしかしたらそれが原因では・・・と思い、確認したのですが、残念ながら32bit版もインストールされていました。 しかし、C++ パッケージのバージョン等に原因があるのかもしれないので、そのあたりを試してみたいと思います。 ありがとうございました。

回答No.1

すいません。 64bitはx64で 32bitとx86は互換性が高いものと認識していますが。 したがって、32bit使用にしたプラットフォームにx64が動くはずないと思いました。 だから Any CPUだから動くが x86で動かないのは当然ではないですか?

re_na_chu
質問者

補足

ご回答ありがとうございます。 こちらの説明が不足していた為、補足させて頂きます。 このVB.NETで作成されるプログラムは、内部で32bitにしか対応していないライブラリが使用されています。 その為、AnyCPUでビルドすると、32bitOS上では起動しますが、64bitOS上では起動できませんでした。 そこで、システムをx86(32ビット)に固定してビルドすることで、32bit・64bitどちらのOSでも起動できるような対応を取りました。 対応方法は下記のURLを参考にしています。 http://niyodiary.cocolog-nifty.com/blog/2009/05/net-framework64.html 実際、この対応により一台を除いた全ての32bit、64bit端末でシステムが利用できるようになったのですが、一台だけなぜか64bitOSであるにも関わらず、AnyCPUのプログラムでは動作し、32bit固定化のプログラムでは動作しなくなるという逆転現象が発生しています。 ご指摘の通り、互換性の問題で64bitOSで32bit固定化のプログラムが動かない可能性もありますが、他の64bitOS端末は問題なく動作しているので、その端末だけ何か特殊性があるのではないかと考えています。

関連するQ&A

  • サーバにあるEXEを複数の端末で起動

    どのカテゴリーに質問すべきかよくわからなかったので、ここで質問させていただきます(適切なカテゴリーがあれば、教えてください) VB.NET2003でプロジェクトの種類をWindowsアプリケーションとしてEXEを作成しました。(ようは、当初、各端末にEXEをいれて動作させるつもりでした。) このようなEXEをサーバにいれて、各端末から起動するとどのような不都合が発生するのでしょうか? 抽象的な質問で申し訳ないのですが、何かヒントになるようなことでも結構ですので、教えてください。よろしくお願いします。

  • mkprf.exeの正体を知りたい

    お世話になります。 会社で使用しているwindows7パソコンを更新することになりました。 新端末(windows7)に移行すべく調査したところ、スタートアップに 見慣れないショートカットがありました。 c:\windows\system32\mkprf.exe アクセス日:2011/05/02 14:55 exeのプロパティを見ると、exchange serverのプロファイル作成との 説明がありましたが、新端末にこのexeをインストールする方法が わかりません。 このexeを実行しないと何か不都合が発生するものなのでしょうか?

  • VBにてexeを実行させる方法

    環境OS:2000 開発ツール:VB,ACCESS,TDBGrid を用いてDBシステムを作成したのですが ・VB や その他のツールをインストールした端末にて  exe を実行できるのですが ・ツールを全くインストールしていない端末では一部  しか動作しません 開発時、[プロジェクト]-[参照設定]or[コンポーネント] の設定は変更いたしました 予想では dll,ocx ファイルが無いのが原因かなと 思っています この場合,どのようなファイルをどこに入れると、 ツールのインストールしていない端末でも動作するのでしょうか? 教えて下さい

  • ACtiveXコンポーネントはオブジェクトを作成できません(つづき)

    OS:windowsXP(windows update 未処理) VB:VB6.0sp5 首記のエラーが発生し「OSをシャットダウンさせるシステム」が正常に動作いたしません OSをシャットダウンさせるプログラムを作成し、 ディストリビーション ウィザードにてSetup.exeを作成いたしました VB6.0をインストールしている端末にて OSシャットダウンプログラムのSetup.exeを実行しインストールし、 OSシャットダウンプログラム(exe)を実行するとシャットダウンする のですが、 VB6.0をインストールしていない端末にて OSシャットダウンプログラムのSetup.exeを実行しインストールし、 OSシャットダウンプログラム(exe)を実行すると  上記のエラーが発生しシャットダウンできません どのようにすれば良いのでしょうか?

  • services.exeが何かしてる?

    こんにちは。さっそく質問させていただきます。 もうずっと前からなのですが、ネトゲなど重いアプリケーションを 使用していると、普段は問題なく動いているけど、 20秒くらいの間、PC全体の動きが非常に重くなるという 現象が起きています。頻度は、3分に1回くらいです。 タスクマネージャでは良くわからないので、 ProcessExplorerを使って監視していると、重くなるときは 決まって「services.exe」のCPU使用率が上がっているようです。 ウィルスの可能性があるとの情報が多かったのですが、どうも そうではなさそうです。 また、毎日発生するというわけでもなく、発生しない日もあります。 ふと気付くと発生しなくなっていることもあります。 まったく意味がわかりません。どうにかならないでしょうか? ご教授お願いします。

  • ディストリビューションで作成したsetup.exe

    ディストリビューションで作成したsetup.exe にて、インストールを開始すると、「denpyo10.ocxの登録中にエラーが発生しました」となります。 無視してそのまま続行すると、デンピョウマンを使用してで作成したFORMが開けません。EXE作成の再には、特にエラーは出ません。開発環境には(VB、デンピョウマン等がインスト済み端末)正常にインストロールできます。解決方法をご存知の方、宜しく御願いします。

  • Windowsのプロセスの件について

    いつもお世話になります。 ご質問があります。 DCOMを使用している環境なのですが、クライアントでサーバに命令を投げて処理を行いますが、この時、サーバで立ち上がったWindowsのプロセスが終了しない現象が発生しております。 そこで、どの端末で処理した際のプロセスが終了しないかを探したいのですが、VB5.0のPGでそれは可能でしょうか? 例) (1)"XXX"というPGを"A"、"B"、"C"の端末で起動。 (2)サーバのプロセスに"XXX.exe"が3つできる。 (3)"XXX.exe"というPGを各端末で終了させる。 (4)3つあった"XXX.exe"のうち2つが消えるが、1つは残りっぱなしになる。 (5)どうにかして「残った"XXX.exe"はこの端末だ!」と断定したい。 尚、環境はOSはWindows NT、VB5.0です。 以上、ご存知の方がいましたらご教授を宜しくお願い致します。

  • IEXPLORE.EXEエラー

    最近、電源を切る際に エラーが発生したため、IEXPLORE.exe を終了します。 と出て、終了又はキャンセルの画面が出て どちらを選んでも何度もエラーになり結局強制終了 という現象になっていました。 そこでシステムの復元をして無事?その現象は出なくなったのですが それからはPCの動作が重くなり、時々フリーズするようになりました。 で、タスクマネージャを見てみるとIEXPLORE.exe 16.508K とが複数あることに気がつきました。 これは正常なのでしょうか? 多い時は5~6個表示されています。 何か対処方法等あれば教えてください

  • VISTAでのexeファイルの実行について

    システム運用管理に携わっている者です。 VISTAでのプログラム実行の動作について教えてください。 ユーザ権限で、あるプログラム(VB.NETで作成されたexeファイル)を 実行すると何も起きません。同じプログラムを「管理者として実行」 で実行すると、管理者のパスワードが要求され、入力すると正常に 動作します。 やりたいことは、ユーザ権限でパスワードの入力なしでこのプログラム を実行することなのですがどうすればよいかわかりません。 なお、別の部署のVISTAのパソコンではこの現象は発生しません。 2台のパソコンは共に購入したままの状態ですので、特に設定をした というようなことはないと思います。 大変困っていますので、どなたか原因と対応方法をご教示いただけない でしょうか。 不要な情報かもしれませんが、ウィルス対策ソフトは、 ノートンアンチウィルス2007です。 よろしくお願いいたします。

  • SPOOLSV.EXEの異常?

    最近SPOOLSV.EXEが異常にCPUを占有し困っています。 印刷もしていないのに(もちろん起動してから何度かプリンタは使用していますが。)CPUを90%程度占有し、再起動するまでそのままです。 また、この状態が発生したときにインストールしているはずのプリンタが全てなくなってしまうという状態になることもあります。 どちらの事象も再起動すると消滅します。 システムはPen3 Win2000 SP2 512RAM です。 なお、システムにインストールしているプリンタは、 EPSON PM950C(直結) EPSON LP1900(共有) EPSON PM3500C(共有) ALPS MD5500(共有) CANON A304G2(共有) EPSON LP8800(LAN接続) EPSON PX9000(LAN接続) 以上7台です。 特にどのプリンタを使ったから発生するというものでもなく、いずれを使用しても発生するときには発生し、しないときにはしないので、単にPC側の問題だと思うのですが、今までに経験したことのない事象ですので対処に困っています。

専門家に質問してみよう