|
|
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
ErV....Alt+F7(project properties) Configuration Properties->Linker->Manifest File::Generate Manifes - "No" Жмем "ОК". F7. (Build) Ctrl+F5 (Run); получаем "приложению не удалось запуститься поскольку MSVCR80D.dll не был найден. ... не подтверждаю... запускается...работает..."No" в том месте где указали - поставил... дошёл до этого места - думаю дальше не имеет смысла... коментировать не буду...может что нить и рожу... (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:31:01 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
kolobok0 ErV....Alt+F7(project properties) Configuration Properties->Linker->Manifest File::Generate Manifes - "No" Жмем "ОК". F7. (Build) Ctrl+F5 (Run); получаем "приложению не удалось запуститься поскольку MSVCR80D.dll не был найден. ... не подтверждаю... запускается...работает..."No" в том месте где указали - поставил... дошёл до этого места - думаю дальше не имеет смысла... коментировать не буду...может что нить и рожу... (круглый) В msdn было сказано, что ряд систем этот наворот с манифестами не поддерживают, и работают частично по-старинке. MSDN On versions of Windows that do not support deployment of shared side-by-side assemblies, such as Windows 98 and Windows 2000 Server, the Visual C++ libraries are installed in the System32 folder and WinSxS folder under the operating system root directory. This setup enables running Visual C++ applications on these operating system versions because they do not support manifest-based binding of applications to dependent DLLs. On these operating systems, when an application is loaded, the corresponding manifest file is ignored and the operating systems searches for dependent DLLs using paths set in the current running environment. However, on upgrading the operating system to a version that support manifest-based binding, such as Windows XP or Windows Server 2003, applications built with manifests start using the DLLs installed in the WinSxS folder. Часом не одна из вышеперчисленных у вас стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 18:35:50 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
ErV....Часом не одна из вышеперчисленных у вас стоит? вроде не сервак... Wicrosoft Windows 2000 SP4 (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 19:26:59 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
kolobok0 ErV....Часом не одна из вышеперчисленных у вас стоит? вроде не сервак... Wicrosoft Windows 2000 SP4 (круглый) У меня Windows XP Professional SP2 При попытке засунуть msvcrt80d.dll C:\Windows\System32 проложение вылетает с тем жу глюком - R6034 (Приложение попыталось загрузить CRT, не используя манифест). Я где-то натыкался на эту инфу: internet According to Microsoft, installing a private side-by-side assembly is not supported on Windows 2000 and below, but it seems to work okay. They prefer the CRT DLLs to be installed in the System32 directories. In my opinion, it sounds more like scare tactics from Microsoft. They say it may or may not work, but they're not going to help you if you do it. Если у вас есть в каталоге $(WinDir)\System32\ эти *.dll'ки, значит (как я понимаю), метод загрузки через манифесты системой не поддерживается, и поэтому все работает. Как я понимаю, остается только вариант Custom CRT Build? А с лицензией (Microsoft EULA) не будет проблем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 22:27:36 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Проблема (вроде бы) решена копированием содержимого папки \VC\redist\x86\Microsoft.VC80.CRT в каталог с программой. Надо понимать, что при прошлых попытках теста, переименовывания каталога C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c и манифеста было недостаточно, и что-то оказывало влияние на тест. Когда полностью перекинул содержимое папки WinSxS в другое место, все пшло без проблем, надо понимать, аналогично будет и на машине заказчика. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 15:42:55 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Пробовал исправить- выдает "ошибка инициализации приложения". может кто-нибудь помочь? http://otvet.mail.ru/question/838748/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2006, 11:27:50 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Тема годичной давности но всё же: Проблема решается так: Project Property->Configuration properties->c/c++->code generation->runtime library->MTd манифест отключить. ЕХЕ потолстеет на 400 кb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2007, 22:18:47 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, долго-долго читал msdn на эту тему а потом решил-таки погуглить, и вот работают оба метода - с копированием содержимого папки этой и с отключением манифеста, скажите плиз какой из них использовать более грамотно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 15:17:31 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
eldarkt wrote: > с копированием содержимого папки этой и с отключением манифеста, > скажите плиз какой из них использовать более грамотно? ИМХО, либо ставить vcredist_x86, либо статический линк. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 03:38:47 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
ErV Ggg_oldписали бы на vs2003 и не было бы проблем.... в vs2005 среда разработки лучше. в 2003 - компилятор. :) Самый быстрый был в vc6.5. Ещё бы это все собрать все вместе в одну кучу, так было бы вообще хорошо. Проблему решил инсталлятором (кстати, на машине клиента этих библиотек, само собой, не было), но это не вариант. Нужны другие решения. Кто-нибудь их знает? http://www.sql.ru/forum/actualthread.aspx?tid=483464 - тут у тебя это был вариант:) 2MasterZiv - походу ты никогда не ставил на чистые машины проекты. Манифесты ищутся в том же каталоге. В exe-шнике, если его открыть в тотале например Ф3, можно в самом конце увидеть описания зависимостей в ресурсах. Там и прописано имя манифеста который надо найти, а вот уже в манияесте прописано какую dll и откуда грузить. У меня только не получилось грузить одну и туже dll из разных библиотек, расположенных в подпапках. Где в манифесте это прописано. Может кто знает где именно? Сначала манифест ищется в папке WinSxS а потом уже в папке с установленной прогой. Вариант таскать не vcredist.exe, а включить Microsoft_VC80_CRT_x86_x64.msm и policy_8_0_Microsoft_VC80_CRT_x86_x64.msm, к себе в инсталятор. Он сам все сделает. Похоже это и есть самый умный вариант. Кто умнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 13:46:22 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Не получивший ответа wrote: > Вариант таскать не vcredist.exe А что мешает vcredist включить в инсталлятор? Насколько я помню, M$'овский визард (хотя я это ооочень давно делал) именно это и делает. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 14:20:12 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Не получивший ответа wrote: > Кто умнее? Не занимайтесь ерундой. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 14:20:31 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
ErV Не получивший ответа wrote: > Кто умнее? Не занимайтесь ерундой. Ну я имел в виду "Кто умнее" предложит идею и не хотел никого оскорблять. В msi его включить не получиться по одной простой причине, что он сам msi, а два одновременных msi работать одноременно не могут. Либо свой инсталятор писать не на msi. И вообще это тупо. Есть только два варианта и они уже предложены. Зачем еще посторять тоже самое: 1. Таскать с собой необходимые dll и манифест. Чтобы я и сделал на месте автора, если у него только один exe или все исполнимое лежит в одном каталоге. Просто манифест тоже носи и все. Легко и удобно. 2. Включить модуль для распространение от самого МС. Его ты найдешь в Common Files\Merge Modules если не ошибаюсь. Можешь поиском воспользоваться, я уже давал имена файлов. ВСЕ!!! Другого не дано свыше (Мелкософтом) Хотя вариант статической линковки тут приводили. Тоже хорошо. Даже лучше всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 14:40:49 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
Понявший что не получит ответа wrote: > оскорблять. В msi его включить не получиться по одной простой причине, > что он сам msi, а два одновременных msi работать одноременно не могут. > Либо свой инсталятор писать не на msi. Объясняю. В Visual Studio можно делать инсталляторы для приложения. Я это только один раз ковырял, оно мне показалось жутко сырым, но можно было создать сетап, который инсталлировал нужные библиотеки, вызывая vcredist. Оно работало, причем dll'ки шли не в MSM. Пошаговое описалово по созданию проекта есть где=то в msdn. Кроме того, по-моему, мне попадались уже приложения, инсталлировавшие vcredist прямо из сетапа. > Таскать с собой необходимые dll и манифест. Когда я этот вопрос рыл, то натыкался на сообщения людей, у которых этот вариант не работал. По неизвестным причинам, без объяснений. Посему и рекомендую vcredist или собирать проект инсталлера. > Чтобы я и сделал на месте автора, Какого автора? Автор первого сообщения - Я, проблема решена давным-давно и забыта. (на дату первого сообщения посмотрите, больше года прошло) > 2. Включить > модуль для распространение от самого МС. ПисАл же выше, в MSVC можно собрать инсталлятор, который установит нужные библиотеки (плюс найдет все компоненты, которые может понадобиться устанавливать). > Хотя вариант статической линковки тут приводили. Тоже хорошо. Даже > лучше всех. Приложение, которое это использовало, опиралось на Qt 4, а ему для корректной работы плагинов нужен динамический линк. > Другого не дано свыше (Мелкософтом) Компиляция через mingw. (если возможно). Или даунгрейд до vc7.1 или компилятора, который вместе с ним фриварно распространялся (vc 2003 compiler toolkit, что ли? Сейчас фиг найдешь, M$ его с сайта удалила...). Ещё есть вариант пересборки CRT с целью выкусывания бреднятины с манифестом, но я не в курсе, разрешено ли это M$-овской лицензией. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 15:02:31 |
|
||
|
msvcp80.dll динамический линк и проблемы
|
|||
|---|---|---|---|
|
#18+
проект с нуля win32 api windows application /empty project добавляю 2 файла: хэдер и cpp. В хэдере: Код: plaintext в cpp Код: plaintext 1. 2. 3. 4. 5. меняю линковку на статическую, т.е. libcmtd.lib (_MTd) в дебаге / (_MT) libcmt.lib - в релизе. Компилю. Запускаю в BoundsChecker'e дебаг - все ОК. Запускаю релиз - приложение запускается и см. картинку. может мне кто-нибудь объяснить, что я делаю не так? -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 08:57:29 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34029778&tid=2027999]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 181ms |
| total: | 414ms |

| 0 / 0 |
