Написал программу в BDS.
Программа стабильно работает на моем ПК и на ПК моих коллег.
Так же работает на тестовом ПК (нулевая система).
Я собирал инсталлер в SIMе пользуюясь окном Modules BDS(1) и Dependings в PE Explorer(2)
подключил все перечисленные библиотеки. Во 2м случае подключил все библиотеки предложенные
PE.
На простом ПК программа не работает.
"Ошибка при инициализации приложения (0xc0150002). Для выхода..."
Помогите, пожалуйста. 4 раза пересобирал программу — никакой реакции. у меня работает — там нет.
К сожалению, я даже не знаю с какой стороны к этой проблеме подступиться...
Дело ли в недостатке dll? Или в несовместимости систем? (и там и там XP Pro SP2) или еще в чем нибудь
Здравствуйте, Pavel_O, Вы писали:
P_O>Написал программу в BDS. P_O>Программа стабильно работает на моем ПК и на ПК моих коллег. P_O>Так же работает на тестовом ПК (нулевая система).
P_O>Я собирал инсталлер в SIMе пользуюясь окном Modules BDS(1) и Dependings в PE Explorer(2) P_O>подключил все перечисленные библиотеки. Во 2м случае подключил все библиотеки предложенные P_O>PE.
P_O>На простом ПК программа не работает. P_O>"Ошибка при инициализации приложения (0xc0150002). Для выхода..."
Здравствуйте, OdesitVadim, Вы писали:
OV>Здравствуйте, Pavel_O, Вы писали:
P_O>>Написал программу в BDS. P_O>>Программа стабильно работает на моем ПК и на ПК моих коллег. P_O>>Так же работает на тестовом ПК (нулевая система).
P_O>>Я собирал инсталлер в SIMе пользуюясь окном Modules BDS(1) и Dependings в PE Explorer(2) P_O>>подключил все перечисленные библиотеки. Во 2м случае подключил все библиотеки предложенные P_O>>PE.
P_O>>На простом ПК программа не работает. P_O>>"Ошибка при инициализации приложения (0xc0150002). Для выхода..."
OV>А может списочек длл приведёте?
приведу. но сначало небольшое замечание. мне кажется я определил в чем дело
собрал программу в InstallShield.
по существу она отличается лишь одним
Merging modules...
Merging Visual C++ 8.0 CRT (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\Microsoft_VC80_CRT_x86.msm
Merging Visual C++ 8.0 CRT.Policy (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\policy_8_0_Microsoft_VC80_CRT_x86.msm
Merging Microsoft (R) C Runtime Library: C:\Program Files\Common Files\Merge Modules\MSVCRT.MSM
Merging Microsoft OLE 2.40 for Windows NT(TM) and Windows 95(TM) Operating Systems: C:\Program Files\Common Files\Merge Modules\OLEAUT32.MSM
"слитием" модулей...
возникает вопрос, что это такое и какая бесплатная/разумно оцененная софтина может делать то же?
OV>>А может списочек длл приведёте?
P_O>приведу.
Вы торгуетесь? P_O>но сначало небольшое замечание. мне кажется я определил в чем дело P_O>собрал программу в InstallShield. P_O>по существу она отличается лишь одним P_O>
P_O>Merging modules...
P_O>Merging Visual C++ 8.0 CRT (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\Microsoft_VC80_CRT_x86.msm
P_O>Merging Visual C++ 8.0 CRT.Policy (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\policy_8_0_Microsoft_VC80_CRT_x86.msm
P_O>Merging Microsoft (R) C Runtime Library: C:\Program Files\Common Files\Merge Modules\MSVCRT.MSM
P_O>Merging Microsoft OLE 2.40 for Windows NT(TM) and Windows 95(TM) Operating Systems: C:\Program Files\Common Files\Merge Modules\OLEAUT32.MSM
P_O>
P_O>"слитием" модулей...
P_O>возникает вопрос, что это такое и какая бесплатная/разумно оцененная софтина может делать то же?
Непонятно, что это у вас она тянет. Но очень похоже, что вы наткнулись на то, что называется DLL Hell. Когда на удалённой машине не та версия длл, что у вас. InstallShield догадывается, что такое может быть и добавляет вашу длл в специальное хранилище, откудова винда сможет подсовывать нужную длл для вашей проги.
В BDS, ЕМНИП, 4 языка. два Delphi, C++ и C#. О чем речь ?
Могу предложить в системный модули (RЕL, VCL, etc) добавить Output Debug String
Для начала первым пунктом в initialization. Например через SysInternals DebugView смотришь при инициализации какого модуля программа вываливается.
Потом нашпиговываешь его OutPutDebugView и постепенно определяешь где именно вываливается. потом, если повезет, определяешь почему.
Если есть возможность — сделай полную копию винчестера той винды, где вываливается и запусти на своем ПK под VmWare.
Чтобы не тасктаь EXE тудя-сюда-обратно, что будет гораздо медленнее. Да и Remote Debugging — вдруг — сможешь использовать.
Здравствуйте, Pavel_O, Вы писали:
P_O>Помогите, пожалуйста. 4 раза пересобирал программу — никакой реакции. у меня работает — там нет. P_O>К сожалению, я даже не знаю с какой стороны к этой проблеме подступиться...
P_O>Дело ли в недостатке dll? Или в несовместимости систем? (и там и там XP Pro SP2) или еще в чем нибудь
P_O>
Берёте программу depends.exe (Dependency Walker) из состава Windows Platform SDK, запускаете на компьютере, на котором программа не работает.
Грузите своё приложение в depends и смотрите, все ли требуемые dll присутствуют с нужными точками входа.
Если Platform SDK нет, то лучше скачать и поставить — зело полезная штука.
Это как минимум даст ответ на вопрос "Дело ли в недостатке dll?".
p.s. Те merge modules, что вы приводили в теме из лога InstallShield-а, не нужны. Это стандартный рантайм для программ, созданных в VS.