информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медГде водятся OGRыПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
 Tailscale окончательно забанила... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





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

Обычно принято иметь хотябы versioninfo. Чтобы эмбеднуть манифест в exe-шник, достаточно просто указать его в ресурсах. Тип ресурса RT_MANIFEST (24), номер ресурса - разный в зависимости от того, что собираешь. Чаще всего - 0.
<programming>
Отключение 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