So signieren Sie eine Binärdatei (ObjectARX oder Managed .NET) mit einem Postbuildereignis in Microsoft Visual Studio

Ein Postbuildereignis ist eine Aktion, die nach der Erstellung eines Projekts auftritt. Sie können ein Postbuildereignis zum digitalen Signieren einer Binärdatei (ObjectARX oder Managed .NET) nach ihrer Erstellung verwenden. Die folgenden Schritte erläutern, wie Sie ein Postbuildereignis hinzufügen, das die SignTool.exe aus dem Windows SDK verwendet, um die Zieldatei eines Projekts digital zu signieren.

Weitere Informationen zur Verwendung der SignTool.exe finden Sie unter "So signieren Sie eine Binärdatei (ObjectARX oder Managed .NET) digital".

Anmerkung: Sonderzeichen in einem Projektnamen oder Ordnerpfad können zu Problemen mit der SignTool.exe oder anderen Programmen führen, die als Teil eines Postbuildereignisses ausgeführt werden.

Visual Basic

  1. Klicken Sie in Microsoft Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf ein Projekt, und wählen Sie Eigenschaften.
  2. Klicken Sie auf der Seite Eigenschaften auf die Registerkarte Kompilieren.
  3. Führen Sie einen Bildlauf zum unteren Rand der Seite aus, und klicken Sie auf Buildereignisse.
  4. Klicken Sie im Dialogfeld Buildereignisse auf Postbuild bearbeiten.
  5. Geben Sie im Dialogfeld Postbuildereignis-Befehlszeile die Anweisung ein, die die SignTool.exe und die Argumente ausführt, die sie verwenden soll.

    Im Folgenden sehen Sie ein Beispiel für das Signieren der Zieldatei des Projekts mit einem kennwortgeschützten digitalen Zertifikat, gespeichert in der Datei MyCert.pfx im Ordner Autodesk:

    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Tipp: Klicken Sie auf Makro zum Hinzufügen von Makros zu den auszuführenden Befehlszeilenanweisungen.

    $ (TargetDir) und $ (TargetFileName) sind Makros, mit denen Sie dynamisch den Build-Zielordner und den Dateinamen als Teil der Befehlszeilenprogramme angeben können, die als Teil des Postbuildereignisses ausgeführt werden.

  6. Klicken Sie auf OK, um das Dialogfeld Postbuildereignis-Befehlszeile zu schließen.
  7. Klicken Sie im Dialogfeld Buildereignisse auf die Dropdown-Liste Postbuildereignis ausführen, und wählen Sie Bei erfolgreicher Erstellung.
  8. Klicken Sie auf OK, um das Postbuildereignis zu speichern.
  9. Erstellen Sie das Projekt neu, um das Postbuildereignis zu testen.

    Das Fenster Ausgabe zeigt Informationen darüber an, ob das Postbuildereignis erfolgreich abgeschlossen wurde.

    PostBuildEvent:
      "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\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. Klicken Sie in Microsoft Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf ein Projekt, und wählen Sie Eigenschaften.
  2. Klicken Sie auf der Seite Eigenschaften auf die Registerkarte Buildereignisse.
  3. Führen Sie einen Bildlauf zum unteren Rand der Seite aus, und klicken Sie auf Postbuild bearbeiten.
  4. Geben Sie im Dialogfeld Postbuildereignis-Befehlszeile die Anweisung ein, die die SignTool.exe und die Argumente ausführt, die sie verwenden soll.

    Im Folgenden sehen Sie ein Beispiel für das Signieren der Zieldatei des Projekts mit einem kennwortgeschützten digitalen Zertifikat, gespeichert in der Datei MyCert.pfx im Ordner Autodesk:

    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Tipp: Klicken Sie auf Makro zum Hinzufügen von Makros zu den auszuführenden Befehlszeilenanweisungen.

    $ (TargetDir) und $ (TargetFileName) sind Makros, mit denen Sie dynamisch den Build-Zielordner und den Dateinamen als Teil der Befehlszeilenprogramme angeben können, die als Teil des Postbuildereignisses ausgeführt werden.

  5. Klicken Sie auf OK, um das Dialogfeld Postbuildereignis-Befehlszeile zu schließen.
  6. Klicken Sie auf der Seite Eigenschaften auf die Dropdown-Liste Postbuildereignis ausführen, und wählen Sie Bei erfolgreicher Erstellung.
  7. Erstellen Sie das Projekt neu, um das Postbuildereignis zu testen.

    Das Fenster Ausgabe zeigt Informationen darüber an, ob das Postbuildereignis erfolgreich abgeschlossen wurde.

    PostBuildEvent:
      "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\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. Klicken Sie in Microsoft Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf ein Projekt, und wählen Sie Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaftsseite auf die Dropdown-Liste Konfiguration, und wählen Sie Alle Konfigurationen.
  3. Erweitern Sie Konfigurationseigenschaften Buildereignisse, und klicken Sie auf Postbuildereignisse.
  4. Klicken Sie auf der Seite Postbuildereignis auf das Feld Befehlszeile. Klicken Sie auf die Dropdown-Liste, und wählen Sie <Bearbeiten...>.
  5. Geben Sie im Dialogfeld Befehlszeile die Anweisung ein, die die SignTool.exe und die Argumente ausführt, die sie verwenden soll.

    Im Folgenden sehen Sie ein Beispiel für das Signieren der Zieldatei des Projekts mit einem kennwortgeschützten digitalen Zertifikat, gespeichert in der Datei MyCert.pfx im Ordner Autodesk:

    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Tipp: Klicken Sie auf Makro zum Hinzufügen von Makros zu den auszuführenden Befehlszeilenanweisungen.

    $ (TargetDir) und $ (TargetFileName) sind Makros, mit denen Sie dynamisch den Build-Zielordner und den Dateinamen als Teil der Befehlszeilenprogramme angeben können, die als Teil des Postbuildereignisses ausgeführt werden.

  6. Klicken Sie auf OK, um das Dialogfeld Befehlszeile zu schließen.
  7. Klicken Sie auf der Eigenschaftsseite auf das Feld In Build verwenden. Klicken Sie auf die Dropdown-Liste, und wählen Sie Ja.
  8. Klicken Sie auf OK, um das Postbuildereignis zu speichern.
  9. Erstellen Sie das Projekt neu, um das Postbuildereignis zu testen.

    Das Fenster Ausgabe zeigt Informationen darüber an, ob das Postbuildereignis erfolgreich abgeschlossen wurde.

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