• 締切済み

VistaでビルドしたexeがXPで動作しない。

Visual Studio 2003 (OS:XP)で開発していたプロジェクトを、Visual Studio 2005(OS:Vista)に移行しているのですが、VistaでビルドしたexeをXPへインストールすると下記のエラーが表示され動作しません。 【表示されるエラー】 「プロシージャ エントリ ポイント _except_handler4_common が ダイナミック リンク ライブラリ msvcrt.dllから見つかりませんでした」 MFCのダイアログベースで、インストールはセットアッププロジェクトで作成したインストーラーを使用しています。 VistaでビルドしたexeをXPで動作させるには、どのようにしたら良いのでしょうか? 以上、よろしくお願いします。

みんなの回答

  • takoashi
  • ベストアンサー率39% (21/53)
回答No.1

ランタイムはインストールされていますか? Visual Studio 2005用のランタイムは2種類あります。 初期版とSP1版です。

heppokoP
質問者

補足

takoashiさん、回答ありがとうございます。 ランタイムとは、「Microsoft Visual C++ 2005 再頒布可能パッケージ (x86)」(vcredist_x86.exe)の事でしょうか? インストールをしていなかったので試してみましたが、結果は同じで動作しませんでした。 その後いろいろと調べているのですが、_except_handler4_commonという関数はMSVCR80.DLLにあるようです。 また、同じ問題について書いてあるページを見つけたのですが、いまひとつ理解できません。 http://www.thescripts.com/forum/thread611031.html 以上、よろしくお願いします。

関連するQ&A

  • Win7で作ったソフトをXPで動作

    Win7 32bit VS2008 MFCで作ったアプリもらい、別のPC(WinXP)で動作しようとしたところ dwnai.dllが無いというエラーがでました。 Vista以降のOSに入っているDLLということだったので 単純にコピーしたのですが、こんどは別のエラーで駄目でした。 (プロージャエントリポイント_except_handler4_common がダイナミックリンクライブラリ msvcrt.dll から見つかりません と出ました) dwnai.dllがXPにあることで出るエラーと書いてありました。 Vistaでは動作しました。 このアプリをXPで動作させることは可能でしょうか? また可能であればどのような対処をしたらよいでしょうか? 宜しくお願いします。

  • visual studio 2015 exe 生成

    visual studio 2015のC++でWin32アプリケーションを作りました。 デバッグしようとしたところ、ビルドエラーが発生して、 「プログラム 'c:¥users¥documents¥visual studio 2015¥Projecst¥Win32project1¥Win32project1.exe'を開始できません。 指定されたファイルが見つかりません」と表示されます。 ソリューションのビルドは正常に出来ます。 そこでprojectのファイルを開いて見たのですが、確かにexeファイルが生成されていませんでした。 特に設定はいじってないです。 どうすればexeファイルが生成されるのでしょうか?

  • Visual Studioでビルドできません.

    Visual Studio 2008の環境でVisual Fortranを使用しております. インストールし,新しいプロジェクトでVisual Studioにインストールされているメイン・プログラム・コードもビルドおよびデバッグができず,以下のようなエラーが表示されます. 「エラー1  fatal error LNK2023: DLL または エントリ ポイント 'msobj80.dll' が正しくありません。 LINK 」 このような,エラーが表示されたときはどのように対処すればいいのでしょうか? パソコンの環境は ・DELL PRECISION T3500 ・Windows 7 Professional SP1 ・64ビット です. このような開発ソフトを扱うのは初めてなので,なにも分からない状態です. 皆様のご教授お待ちしております.

  • Visual Studioでのビルド

    Visual Stuido Express2012を使用しているのですがビルドについて質問があります。 DBViewerというプロジェクト名でC#のアプリを作成しているのですが ビルドしてできたexeファイルが下記の2通りの場所に存在しています。 exeファイルも両方動作します。 下のパスの方がフォルダの中身がスッキリしていてるのですがこの違いは 何なのでしょうか。また、リリースには下のパスのフォルダを使用するのが 正しいのでしょうか。 C:\Visual Studio 2012\Projects\DBViewer\DBViewer\obj\Debug C:\Visual Studio 2012\Projects\DBViewer\DBViewer\bin\Debug

  • VistaでVisualStudio2005がうまく動作しません

    WindowsVistaに Visual Studio2005 team Edition for software Developersをインストールしましたが、 下記問題が発生し動作しません (1)インストール中に、「devenv.exe vistaと互換性がありません」エラー (2)一応インストールは完了するものの、  VS2005を起動し、新規ソリューションを開こうとすると、 「パッケージの読み込みエラー: VSCommon IDE Package は正しく読み込むことができませんでした。 環境が壊れている可能性があります。」 等のエラーが出て全く使用できません。 どなたか同様の現象が出ているかたいらっしゃいませんでしょうか。 もし対応策があれば教えてください。

  • MFCアプリケーションのスケルトンのビルドでいきなりエラー

    Visual Studio2008のVC++でMFCアプリケーションを作る為 プロジェクトのスケルトンを作った段階で(コーディングは 一切してない)ビルドしたらいきなりエラーが出て困っています。 エラー内容:error PRJ003 cmd.exeの起動中にエラーが発生しました。

  • ビルド時のエラー(書き込みできない)

    Visual Basic 2005 Express Editionを使っています。 以前までは正常にビルドできていたのですが、最近になって急にビルド時にエラーが表示されるようになりました。再インストールも行いましたが解決しません。 エラーの出力結果としては、 例えば「WindowsApplication1」というプロジェクト名にした場合、 エラー 1 出力ファイル 'C:~(中略)~WindowsApplication1\obj\Debug\WindowsApplication1.exe' に書き込めません: アクセスが拒否されました。 と表示されています。 ユーザーアカウントは「コンピューターの管理者」になっていますし、同様の環境でVC++2005を動作させても正常に作動しています。 他のパソコンで作成したプロジェクトをコピーして持ってきた場合、最初のビルド時は問題ありませんが、少しでもコードを書き換えると同様のエラーが起こってしまいます。 どなたか解決法をご教示していただけないでしょうか。 よろしくお願いします。

  • cppファイルを直接visual studioで開き、ビルドするには?

    cppファイルを直接visual studioで開き、ビルドするには? 私はvisual studio 2008を使ってプログラミングをしています。 いつもみたいに、プロジェクト作成→cppファイル作成って流れでやると普通に(ビルドやデバッグが)できるのですが、 プロジェクトを作成せず、裸のcppファイルだけをvisual studioで開くと、ビルドとか何もできません。実行して、コンソール画面を出したいのですが…。 出来る方法はあるのでしょうか? また、どうしてこの方法ではできないのかも、教えてくれるとありがたいです。 よろしくお願いします。

  • VS2010にて、依存関係とビルド順

    2つのプロジェクトを内包するソリューソンがあるとします。 片方はDLLで、「a.dll」とします。 もう片方はEXEで、「b.exe」とします。 EXEは「a.dll」を使用していて、「a.lib」をリンクしています。 (プロジェクトのリンカーの追加の依存ファイルに「a.lib」を記述) 依存関係も設定し、ビルド順はDLL,EXEの順になっています。 それで、DLL側のソースを更新し、ビルドを行いました。 結果、「a.lib」と「a.dll」が更新されました。 しかし、EXE側はビルドされませんでした。(更新不要で省略された) 「a.lib」をリンクしているので「a.lib」が更新されれば、 少なくともEXE側もリンク(ビルド)する必要があるはずです。 このような場合どのように設定すれば良いのでしょうか? ちなみに、それぞれを1つソリューソンに分け、 DLL側をビルド、EXE側をビルドとした場合は、 EXE側はリンク(ビルド)されました。 また、Visual Studio 2008以前はこのような事はありませんでした。 Visual Studio 2010になって、この辺りの処理が変わったのでしょうか?

  • cl.exeを実行すると、ダイアログが表示される

    今までは、Visual C++ Toolkit 2003のcl.exeを使っていたのですが、Visual Studio 8のcl.exeを使ってみたところ、ダイアログが表示されました。 表示されたダイアログのタイトル cl.exe - エントリ ポイントが見つかりません その内容 プロシージャ エントリポイント __security_error_handler がダイナミックリンク ライブラリ MSVCR80.dllから見つかりませんでした。 と表示されます。 推察するに、MSVCR80.dllを参照しているが、その中に__security_error_handlerというプロシージャがありませんでしたよということでしょうか。 しかし、MSVCR80.dllというファイルを参照した結果、__security_error_handlerプロシージャが見つからないのであって、MSVCR80.dll自体が見つからないというわけではないので、何をすれば問題が解決されるのかわかりません。 再インストールしてみましたが(アンインストールしてからではなく、再インストール操作)、だめでした。 インストール後の設定が間違っているだけの可能性もありますが、そこも含めて、何がいけないのかどうぞ教えてください。 ちなみに、インストール後は、 環境変数から pathに%VC%\binを追加 libパスをつくり、%VC%\libを追加 includeパスをつくり、%VC%\includeを追加 をしました。

専門家に質問してみよう