0

数百台の貸衣装マシンにインストールされている少数のサードパーティDLLを使用するWin32C++アプリケーションがあります。最近、Windows XP、Windows Vista x64、Windows 7 x86、およびWindows Server2008x86でx86バージョンのインストールを正常にテストしました。問題はありません。インストーラー(nullsoft)は、VC2005とVC2008の再配布可能なファイルをインストールします。どちらも、使用する異なるDLLで必要になるためです。

ただし、Windows Server 2008 x64の両方で、x86バージョンとx64バージョンは起動を拒否します。プログラムのx86バージョンを起動すると、ダイアログが表示されます。

<myApp> has stopped Working.

EventLogには次のメッセージが含まれています。

Faulting application myapp.exe, version 1.0.0.0, time stamp 0x4bcb37ca, 
faulting module MSVCR80.dll, version 8.0.50727.4053, time stamp 0x4a594c79, 
exception code 0xc000000d, fault offset 0x0001ce0b, process id 0x29c, 
application start time 0x01cb0329976cfc68.

\ Windows\winsxsにはディレクトリが含まれています

x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d

sxstrace(最初のトレース、次に解析)を使用して、読み取り不可能な文字を含む3バイト長のログファイルが作成されます。x64バージョンの動作も同様です。また、サードパーティDLLのすべてのデモプログラムが正しく機能しています。ヒントはありますか?

4

1 に答える 1

1

サイドバイサイドエラーのようには見えません。例外コードは STATUS_INVALID_PARAMETER、「無効なパラメーターがサービスまたは関数に渡されました」です。それは役に立ちません。おそらくWindowsデバッグシンボルを備えたデバッガが必要です。最初の例外で停止するようにします。

于 2010-06-03T15:13:49.890 に答える