Windows7の謎

 USBにデバッグモードでビルドしたプログラム、関連するdllを含めて、一式をコピーし、事務所で、実行したら、何度起動しても、すぐに落ちてしまう。

 ちなみに、Releaseビルドで作成した方は、何事もないように起動できる。

 事務所のコンピュータはXPで、出荷用したプログラムの保管とデモ用の環境を作っています。

 何度やっても、一瞬、カーソルが変わるが、すぐに、何事もなかったかのように、↑カーソルになってしまい、デスクアクセスランプも消え、タスクマネージャーで見ても、プロセスが見当たらない。

 Relase版は、プロテクトをかけているので、いちいちめんどくさいので、デモ用には、DebugBuildを使用しているので、動かないことには、どうにもなりません。

 普通ならDebugBuildは動いて、ReleaseBuildが動かないというのが、これまでの法則だったので、何で?と頭をひねってしまいました。

 しかたなく、USBメモリーを持ち帰り、VISTA, Window7, XPのそれぞれに、順番にUSBメモリーを挿入して、チェックすると、事務所同様、ReleasBuildは問題なく動くが、DebugBuildがエラーとなります。

 ただし、事務所とことなり、起動直後に、「停止しました」のメッセージダイアログが出ます。

 プロジェクトのDebugフォルダーにあるexeを起動すると、やはりエラーが。

 はて、と思い、VS2008を起動し、早速、Debugモードで動かしてみたら、停止メッセージが出て、起動しないということになりました。

 おかしいなぁ、機能まで、何度も何度もDebugモードで動かしていて問題がなかったの②と思いながら、ステップで追っていくと、フォームを生成するときに、コンストラクターの部分に入る前のメンバーの素お気化ルーチンの最後で、自分で作成したDllを宣言している[Dllimport]を3メソッドを通過し、コンストラクターに入る時にこけていることがわかりました。

 こうなると、何がなんだか??? てなもんです。

 何か、dllがおかしくナttのかなぁと思い、仕方ない、ということで、再度,dllをビルドし直して、Debugフォルダーに乗ってきて、実行したところ、今度は、うまく起動しました。

 開発機は、VISTAなので、早速、USBメモリー、新しい、Debugフォルダーをコピーし、XPで実行。

 今度は、うまく動きました。

 そうか、dllが何かおかしくなっていたのかと思い。安心したのもつかの間。

 Windows7では、以前と変わらない、停止メッセージが出てしまい、起動できません。

 このUSBメモリーを、再度、VISTAに差し込んで、起動したら、問題なく動きました。

 結局、Debug版で、Windows7で動かす時だけが、おかしくなるという結果になってしまいました。

 エラー対処のメッセージダイアログが表示されるので、互換性のチェックなど、いろいろ試したのですが、解決しません。

 64ビットWindows7のせいかなぁと思ってみたのですが、それなら、Release版もおかしくなるはずなので、考え込んでしまいました。

 いまだに、謎が解けません。





LB イメージ バックアップ CD起動版
ライフボート

ユーザレビュー:
CD起動に限定して使 ...

amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのトラックバック