Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Причины проблем запуска программы в VC 2005

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проект состоит из 49 dll и одного *.exe.
Сейчас делаем его портинг с 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 файлом, если причина в этом?  
Где грабли?

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 09:26 28-12-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas83
это известная проблема  
в свое время я пройдя тот же путь просто сделал static link т.к. не понял всю это новую чехарду, но это не тот случай (судя по кол-ву модулей)
есть статья на codeproject - не совсем то, но там есть ссылки и общее объяснение
и вот еще ссылка на форум - что-то очень похожее на правду

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 12:15 28-12-2006
zeroandruxa



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извените за нескромный вопрос а фраемворк 2.0 коректно стал на машине?

Всего записей: 538 | Зарегистр. 02-11-2005 | Отправлено: 13:35 28-12-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zeroandruxa
судя по всему это не .net приложение и ему он не нужен

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 13:56 28-12-2006
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Путем научного тыка добился в конце концов работоспособности перенесом с VC 2005 и установкой в самом проекте папок Microsoft.VC80.DebugCRT (Microsoft.VC80.DebugCRT.manifest, msvcm80d.dll, msvcp80d.dll, msvcr80d.dll) и Microsoft.VC80.DebugMFC (с соотв. файлами mfc80d.dll, mfc80ud.dll, mfcm80d.dll, mfcm80ud.dll, Microsoft.VC80.DebugMFC.manifest).  
Дебажная версия требует только свое.

----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 09:29 31-12-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas83
спасибо за информацию - MS в своем репертуаре - чем дальше тем запутаннее
С Новым Годом (можно без взаимности )

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 19:35 31-12-2006
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex

Цитата:
спасибо за информацию - MS в своем репертуаре - чем дальше тем запутаннее

Это уж точно...
А теперь уже совсем перемудрили...

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 13:55 01-01-2007
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для полноты картины решил кинуть ссылку на параллельныую тему с rsdn  
здесь

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 14:09 03-01-2007
Lauarvik



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ещё настоятельно советую обратить внимание на это: Visual C++ Application: How to use manifests and re-distributable assemblies?

Всего записей: 76 | Зарегистр. 05-08-2005 | Отправлено: 17:26 22-02-2007
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Причины проблем запуска программы в VC 2005


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru