У меня есть приложение Win32 C ++, использующее несколько сторонних библиотек DLL, которые установлены на нескольких сотнях клиентских компьютеров. Недавно я успешно протестировал x86-версию установки на Windows XP, Windows Vista x64, Windows 7 x86, а также Windows Server 2008 x86. Нет проблем. Установщик (nullsoft) устанавливает распространяемые файлы для VC 2005 и VC 2008, так как они требуются для разных используемых нами библиотек 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 работают правильно. Любой намек?