Добавление цифровой подписи к двоичному файлу (ObjectARX или управляемые компоненты .NET) с помощью события «После сборки» в Microsoft Visual Studio

Событие «После сборки» — это действие, выполняемое после завершения сборки проекта. Событие «После сборки» можно использовать для добавления цифровой подписи к двоичному файлу (ObjectARX или управляемые компоненты .NET) после его создания. Ниже описана процедура добавления события «После сборки», в котором задействуется инструмент SignTool.exe из SDK Windows, для добавления цифровой подписи к нужному файлу проекта.

Дополнительные сведения об использовании инструмента SignTool.exe см. в разделе «Добавление цифровой подписи к двоичному файлу (ObjectARX или управляемые компоненты .NET)».

Прим.: Специальные символы в имени проекта или пути к папке могут привести к ошибкам при использовании инструмента SignTool.exe или других программ, используемых в рамках события «После сборки».

Visual Basic

  1. В обозревателе решений Microsoft Visual Studio щелкните имя проекта правой кнопкой мыши и выберите "Свойства".
  2. На странице "Свойства" выберите вкладку "Компилировать".
  3. Прокрутите страницу вниз и нажмите "События сборки".
  4. В диалоговом окне «События сборки» нажмите кнопку «Изменить событие "После сборки"».
  5. В диалоговом окне командной строки события после сборки введите оператор, который запускает SignTool.exe и нужные аргументы.

    Ниже приведен пример добавления подписи к конечному файлу проекта с использованием цифрового сертификата, защищенного паролем и сохраненного в файле MyCert.pfx в папке Autodesk.

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Совет: Выберите пункт «Макрос», чтобы добавить макросы к операторам командной строки.

    Макросы $(TargetDir) и $(TargetFileName) позволяют динамически задавать имя конечной папки и файла сборки из командной строки для выполнения в рамках события «После сборки».

  6. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно командной строки события «После сборки».
  7. В диалоговом окне "События сборки" щелкните кнопку раскрывающегося списка "Выполнить событие после сборки" и выберите "При удачной сборке".
  8. Нажмите кнопку "ОК", чтобы сохранить событие "После сборки".
  9. Выполните сборку проекта заново для проверки события после построения.

    В окне вывода отобразятся сведения об успешном завершении события «После сборки».

    PostBuildEvent:
      "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll"
      Done Adding Additional Store
      Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll

Visual C#

  1. В обозревателе решений Microsoft Visual Studio щелкните имя проекта правой кнопкой мыши и выберите "Свойства".
  2. На странице "Свойства" выберите вкладку "События сборки".
  3. Прокрутите страницу вниз и нажмите «Изменить событие "После сборки"».
  4. В диалоговом окне командной строки события после сборки введите оператор, который запускает SignTool.exe и нужные аргументы.

    Ниже приведен пример добавления подписи к конечному файлу проекта с использованием цифрового сертификата, защищенного паролем и сохраненного в файле MyCert.pfx в папке Autodesk.

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Совет: Выберите пункт «Макрос», чтобы добавить макросы к операторам командной строки.

    Макросы $(TargetDir) и $(TargetFileName) позволяют динамически задавать имя конечной папки и файла сборки из командной строки для выполнения в рамках события «После сборки».

  5. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно командной строки события «После сборки».
  6. На странице "Свойства" щелкните кнопку раскрывающегося списка "Выполнить событие после сборки" и выберите "При удачной сборке".
  7. Выполните сборку проекта заново для проверки события после построения.

    В окне вывода отобразятся сведения об успешном завершении события «После сборки».

    PostBuildEvent:
      "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll"
      Done Adding Additional Store
      Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll

Visual C ++

  1. В обозревателе решений Microsoft Visual Studio щелкните имя проекта правой кнопкой мыши и выберите "Свойства".
  2. В диалоговом окне свойств щелкните кнопку раскрывающегося списка "Конфигурация" и выберите "Все конфигурации".
  3. Разверните узел "Свойства конфигурации" "События сборки" и выберите "Событие после сборки.
  4. На странице "Событие после сборки" щелкните поле "Командная строка". Щелкните раскрывающийся список и выберите <Изменить...>.
  5. В диалоговом окне «Командная строка» введите оператор, который запускает SignTool.exe и нужные аргументы.

    Ниже приведен пример добавления подписи к конечному файлу проекта с использованием цифрового сертификата, защищенного паролем и сохраненного в файле MyCert.pfx в папке Autodesk.

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Совет: Выберите пункт «Макрос», чтобы добавить макросы к операторам командной строки.

    Макросы $(TargetDir) и $(TargetFileName) позволяют динамически задавать имя конечной папки и файла сборки из командной строки для выполнения в рамках события «После сборки».

  6. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно командной строки.
  7. На странице свойств щелкните поле "Использовать в сборке". Щелкните раскрывающийся список и выберите "Да".
  8. Нажмите кнопку "ОК", чтобы сохранить событие "После сборки".
  9. Выполните сборку проекта заново для проверки события после построения.

    В окне вывода отобразятся сведения об успешном завершении события «После сборки».

    1>PostBuildEvent:
    1>  Done Adding Additional Store
    1>  Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.arx