Проект состоит из 49 dll и одного *.exe.
Сейчас делаем его портинг с VC 6 в VC 2005.
Все скомпилировалось и слинковалось успешно и запускается без проблем.
Но при переносе на другую машину получаем ''красный Х'':
Цитата:
Пo ''требованию'' утилиты Dependency Walker добавил в рабочую папку проекта mfc80ud.dll, msvcp80d.dll, msvcr80d.dll. Теперь вопросов у него нет.
Но не помогло.
По совету RSDN перенес и установил файлы:
Program Files\Common Files\Merge Modules\microsoft_vc80_atl_x86.msm
Program Files\Common Files\Merge Modules\microsoft_vc80_mfc_x86.msm
Проблема осталась.
Нашел еще вот это:
Цитата:
Но у меня собрана и запускается на одном и том же Windows 2003.
Вот еще нашел:
Цитата:
На проблемной машине устанавливалась раньше предыдущая версия (с VC 6) с помощью стандартного InstallShield.
У кого есть опыт как правильно инсталлировать msi файлом, если причина в этом?
Где грабли?
Сейчас делаем его портинг с VC 6 в VC 2005.
Все скомпилировалось и слинковалось успешно и запускается без проблем.
Но при переносе на другую машину получаем ''красный Х'':
Цитата:
C:\...\*.exe
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
Пo ''требованию'' утилиты Dependency Walker добавил в рабочую папку проекта mfc80ud.dll, msvcp80d.dll, msvcr80d.dll. Теперь вопросов у него нет.
Но не помогло.
По совету RSDN перенес и установил файлы:
Program Files\Common Files\Merge Modules\microsoft_vc80_atl_x86.msm
Program Files\Common Files\Merge Modules\microsoft_vc80_mfc_x86.msm
Проблема осталась.
Нашел еще вот это:
Цитата:
Side-by-side Assemblies
Side-by-side assembly sharing is an infrastructure available on Windows XP and later systems used to safely share assemblies among multiple applications and to offset the negative effects of sharing, such as DLL conflicts. Instead of having a single version of an assembly that assumes backward compatibility with all applications, side-by-side assembly sharing enables multiple versions of a COM or Win32 assembly to run simultaneously on the system. For more information, see Isolated Applications and Side-by-side Assemblies.
Side-by-Side Assemblies can be installed as shared assemblies or as private assemblies.
Side-by-side assemblies are not available on systems earlier than Windows XP.
Но у меня собрана и запускается на одном и том же Windows 2003.
Вот еще нашел:
Цитата:
Runtime, MFC & Co теперь линкуются так, чтобы можно было держать несколько их версий на одной машине (side by side).
Чтобы приложения их (runtime & Co) находили, их надо правильно инсталлировать (msi файлом, который лежит в redistributable у студии). А иначе они их не находят...
На проблемной машине устанавливалась раньше предыдущая версия (с VC 6) с помощью стандартного InstallShield.
У кого есть опыт как правильно инсталлировать msi файлом, если причина в этом?
Где грабли?