есть com объект в виде dll, создавался в vs2003 все работало
после переноса на 2005 при регистрации regsvr32 com.dll получил
"Ошибка при вызове LoadLibrary(com.dll). Приложение не было запущено поскольку оно не корректно настроено. Повторная установка приложения может решить проблему"
скопировал в system32 файлы из c:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT\
после этого стала выдавать такую ошибку
"An application has made an attempt to load th C runtime library whithout using a manifest. This is an unsupported way to load Visual C++ DLLs. You need to modify your application to build with a manifest"
Здравствуйте, finder2006, Вы писали:
F>есть com объект в виде dll, создавался в vs2003 все работало F>после переноса на 2005 при регистрации regsvr32 com.dll получил
F>"Ошибка при вызове LoadLibrary(com.dll). Приложение не было запущено поскольку оно не корректно настроено. Повторная установка приложения может решить проблему"
F>скопировал в system32 файлы из c:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT\ F>после этого стала выдавать такую ошибку
F>"An application has made an attempt to load th C runtime library whithout using a manifest. This is an unsupported way to load Visual C++ DLLs. You need to modify your application to build with a manifest"
F>как ей этот манифест добавить ?
CRT нужно ставить в side-by-side cache (c:\windows\winsxs) а не в system32.
Если для вас не имеет значения side-by-side выполнение, можете просто отключить внедрение манифеста в вашей dll-ке (Configuration Properties\Manifest Tool\Input and Output\Embed Manifest=No)
Re[2]: VS 2005 side-by-side assemblies
От:
Аноним
Дата:
14.06.07 13:07
Оценка:
Здравствуйте, SuhanovSergey, Вы писали:
SS>Здравствуйте, finder2006, Вы писали:
F>>есть com объект в виде dll, создавался в vs2003 все работало F>>после переноса на 2005 при регистрации regsvr32 com.dll получил
F>>"Ошибка при вызове LoadLibrary(com.dll). Приложение не было запущено поскольку оно не корректно настроено. Повторная установка приложения может решить проблему"
F>>скопировал в system32 файлы из c:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT\ F>>после этого стала выдавать такую ошибку
F>>"An application has made an attempt to load th C runtime library whithout using a manifest. This is an unsupported way to load Visual C++ DLLs. You need to modify your application to build with a manifest"
F>>как ей этот манифест добавить ?
SS>CRT нужно ставить в side-by-side cache (c:\windows\winsxs) а не в system32. SS>Если для вас не имеет значения side-by-side выполнение, можете просто отключить внедрение манифеста в вашей dll-ке (Configuration Properties\Manifest Tool\Input and Output\Embed Manifest=No)
я так делал, манифест из ресурсов исчезает но при попытке зарегистрировать библиотеку выдает второе сообщение про то что нужен манифест
в c:\windows\winsxs как устанавливать ? если просто скопировать файлы из Microsoft.VC80.DebugCRT, то первое сообщение
А>в c:\windows\winsxs как устанавливать ? если просто скопировать файлы из Microsoft.VC80.DebugCRT, то первое сообщение
Ставить умеет windows installer, если пометить файл специальным образом.
Для ручной установки возможно есть утилиты, но я точно не знаю. Я однажды копировал вручную:
папку winsxs\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c
и пару файлов winsxs/manifests/x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c.cat и winsxs/manifests/x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c.manifest