информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят медСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Отключение manifest в VS2005 11.11.06 11:50  
Автор: aQw Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всем привет!

Есть проблема. Приложение собранное в VC2005 (без среды - nmake) не запускается под XP SP2. Проблема решается копированием в каталог приложения .manifest файла получаемого автоматом при линковке. Собственно тоже приложение собранное под VC6.0 запускается безо всяких .manifest. Следовательно, где-то в .exe записано что надо проверять .manifest. Как бы это отключить? Или это запсано непосредственно в MSVCR80.dll?

/NOASSEMBLY не работает для .exe
/clr:noAssembly у исходников тоже не помогает

можно конечно попытаться встроить манифест в .exe с помощью mt, но на фига такие сложности? может где-то в имадже можно это убрать?
http://msdn2.microsoft.com/en-us/library/ms235605.aspx 11.12.06 03:22  
Автор: MadBinom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
STFW :)
Properties -> Manifest Tool -> Input and Output -> Embed... 11.11.06 23:23  
Автор: makeworld Статус: Member
<"чистая" ссылка>
Properties -> Manifest Tool -> Input and Output -> Embed Manifest -> No
у меня проект собирается не средой, а через nmake 12.11.06 10:09  
Автор: aQw Статус: Незарегистрированный пользователь
<"чистая" ссылка>
отлично... только у меня проект собирается не средой, а через nmake. В MSDN описан некий способ (http://msdn2.microsoft.com/en-US/library/ms235591.aspx) встроить манифест с помощью mt.exe, но насколько стал сложней make-файл! Неужели нельзя вообще без манифестов?

http://msdn2.microsoft.com/en-US/library/ms235591.aspx
В проекте ресурсы есть? 13.11.06 16:56  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> отлично... только у меня проект собирается не средой, а
> через nmake. В MSDN описан некий способ
> (http://msdn2.microsoft.com/en-US/library/ms235591.aspx)
> встроить манифест с помощью mt.exe, но насколько стал
> сложней make-файл! Неужели нельзя вообще без манифестов?

Обычно принято иметь хотябы versioninfo. Чтобы эмбеднуть манифест в exe-шник, достаточно просто указать его в ресурсах. Тип ресурса RT_MANIFEST (24), номер ресурса - разный в зависимости от того, что собираешь. Чаще всего - 0.
признак проверки манифестов в образе .exe? 13.11.06 10:17  
Автор: aQw Статус: Незарегистрированный пользователь
<"чистая" ссылка>
по идее признак проверки манифестов стоит именно в образе .exe, поскольку:
1) существуют старые .exe которые ничего о манифестах не знают и XP должен их запускать
2) манифест содержит указание на зависимость от mscrt80.dll, и было бы странно если бы признак проверки манифеста был бы в runtime dll-ях
Выше я неправильно написал. установка Embed Manifest в No не... 13.11.06 12:44  
Автор: makeworld Статус: Member
Отредактировано 13.11.06 12:45  Количество правок: 1
<"чистая" ссылка>
Выше я неправильно написал. установка Embed Manifest в No не отключает манифест, а генерирует его как отдельный файл и кладет рядом с экзешником в папку release/debug. Соотвественно при сборке и запуске из IDE все проблемы снимаются.

судя по этому в VC 8 без манифеста не обойтись:
"Visual C++ libraries cannot be used by a C/C++ application without a manifest binding the application to these libraries. If a C/C++ application that depends on a Visual C++ library does not use a manifest, then an attempt to load the Visual C++ library as a dependent DLL from the application-local folder will result in an error message indicating that this is an unsupported way of loading a Visual C++ library."

>В MSDN описан некий способ (http://msdn2.microsoft.com/en-US/library/ms235591.aspx) встроить
>манифест с помощью mt.exe, но насколько стал сложней make-файл!

может проще тогда эти действия в Makefile автоматизировать:
>Проблема решается копированием в каталог приложения
>.manifest файла получаемого автоматом при линковке.

CRT Library and VC++ 8 Manifest Build/Deploy Guidance
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach