Как подписать двоичный файл как часть шага после сборки, используя sn.exe из Windows SDK? - PullRequest
0 голосов
/ 14 октября 2010

Я совершенно незнаком в этой среде программирования на C # Visual Studio, но мне нужно завершить задачу.Прошу прощения, если мой вопрос кажется глупым.Но я действительно не мог понять, что объясняют другие посты на этом или другом сайте в сети.Мне нужно пошаговое руководство, чтобы выполнить этот последний шаг для выполнения моей задачи.

Мне дали приложение под названием MCC, написанное с использованием Visual Studio 2008. Однако это приложение не могло работать должным образом в Windows Vista из-завопрос DEP.MCC имеет функцию для отображения видео с IP-камеры.Для этого требовался элемент управления ActiveX AxGif89aLite.Однако DEP в Vista по умолчанию включен.Флаг IMAGE_DLLCHARACTERISTICS_NX_COMPAT в заголовке PE не позволяет использовать этот элемент управления.Было проведено несколько тестов и выявлено, что это проблема.

Из статьи в сети, http://blog.dyadica.net/archives/data-execution-prevention-workaround, они предлагают мне добавить следующее в событие пост-сборки MCC.

call $ (DevEnvDir) .. \ tools \ vsvars32.bat
editbin.exe / NXCOMPAT: NO $ (C: \ Program Files \ Aerocut \ MCC \ MCC2.exe)

Итак, я добавляю это и перестраиваю файл решения MCC.Тогда я не могу понять, что от меня потребовался этот последний шаг.

Обратите внимание, что если вы подпишете двоичный файл в Visual Studio, переключение флага IMAGE_DLLCHARACTERISTICS_NX_COMPAT на шаге посткомпоновки после того, как двоичный файл будет подписан, приведет к сборке, которая не пройдет проверку строгого имени.Чтобы обойти это, подпишите свой двоичный файл как часть шагов пост-сборки.Для этого используйте SN.EXE из Windows SDK.

Я действительно запутался, что это за двоичный файл для подписи.

  1. Судя по информации, которую я набрал в Google, подписание приложения приводит к получению сертификата на программу, чтобы она была более защищенной, я здесь?
  2. Я получил SN.EXE на моем компьютере.Но как мне подписать мой бинарный файл как шаг после сборки?Двоичный файл должен быть моим скомпилированным исполняемым файлом, верно?

Я переустановил MCC с восстановленным установочным файлом.Это все еще дает мне следующую ошибку:

Невозможно получить обработчик окна для элемента управления AxGif89aLite.Элементы управления ActiveX без окон не поддерживаются.

Помощь очень ценится.Я хотел бы заранее поблагодарить вас здесь.

1 Ответ

1 голос
/ 14 октября 2010

Если вы не подписываете исполняемый файл уже как часть компиляции, вам не нужно беспокоиться об этом.

...