VS2010で作成したアプリがWinXP(SP1)で動作しません – プログラミング – Home

VS2010で作成したアプリがWinX...
 
通知
すべてクリア

[解決済] VS2010で作成したアプリがWinXP(SP1)で動作しません


MistyGreen
 MistyGreen
(@MistyGreen)
ゲスト
結合: 14年前
投稿: 17
Topic starter  

お世話になります。

VS2010 Proで開発を行っています。
自分のアプリは「MyApp.exe」と「MyApp.dll」から構成されています。
EXEの方はMFCを使用しており、DLLの方は使用していません。

動作対象のOSはWinXP以上としています。

開発環境をVS2005からVS2010に切り替えた後、ユーザーから以下のような報告がありま
した。

--------------------------------------------------------
会社のPCはWinXP(SP1)なのですが、旧バージョンは正常に使用できていたのですが、
新バージョンをインストールすると、「MyApp.exe - エントリ ポイントが見つかりま
せん。プロシージャエントリポイント「????」がダイナミックリンク
ライブラリ MyApp.dllから見つかりませんでした」
とダイアログがでて正常に動作しません。
--------------------------------------------------------

ちなみに、WinXP(SP2), WinVista, Win7 などでは問題なく動作しています。

EXEの方の「stdafx.h」では以下のように設定しています。

// WinXP以降のOSをサポートする...
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501

また、DLLの方では、プロジェクトのプロパティの「プリプロセッサ」のところで、
以下のように設定しています。

WINVER=0x0501
_WIN32_WINNT=0x0501

何かコンパイル時の定数を変えればWinXP(SP1)でも動作させることができるのでしょう
か?
あるいは、VS2010で作成するアプリはWinXP SP2以降でしか動作しないのでしょうか?

よろしくお願い致します。


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

前のバージョンがインストールされている場合で、かつ、
関数「????」が、最近追加されたものの場合、(DLLの)インストールに
失敗している可能性が考えられます。
旧バージョンを手動で完全に削除してから再インストールしてみてはどうでしょう。
また、DLLやEXEに問題がある場合には、DLLのアンロードに失敗している場合も
考えられ、手動で当該DLLが削除できないことで、それを確かめられます。


返信引用
えーと
 えーと
(@えーと)
ゲスト
結合: 19年前
投稿: 54
 

サポートはXPはSP2以降とあるので、SP1では動きません。
動かない理由に関しては、
http://recyclebin.jugem.jp/?eid=341
などを見てみると判ります。

Visual Studio2010で作成されたexeはある3つのAPIを呼んでいます。
これがWindows2000では無い為、動かないのです。

ここで、EncoderPointer/DecodePointerはヘルプで見てもらうと判りますが、
XP SP2以降とあるので、残念ながらVisual Studio2010ではSP1のモジュールは
標準では動きません。

もし、SP1でも動かしたいならVisual Studio2008までにするしかないでしょう。


返信引用
MistyGreen
 MistyGreen
(@MistyGreen)
ゲスト
結合: 14年前
投稿: 17
Topic starter  

仲澤@失業者さん、えーとさん、アドバイスありがとうございます。

確かにユーザーからの報告には「EncodePointer」が見つからないという
記述がありました。

VS2010ではWinXP(SP1)はサポートしていないんですね。
仕方がないのでソフトの動作対象を変更したいと思います。

貴重なアドバイスをありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました