Fallstricke bei der Paketierung, Teil 11: Wenn ein VSTO-Add-In nicht erscheint

VSTO-Add-Ins sind dafür bekannt, dass sie innerhalb von Office-Anwendungen nur schwer korrekt verarbeitet werden können. Der Installationsvorgang kann ohne Fehler abgeschlossen werden, und das Add-In scheint wie erwartet installiert zu werden.

Wenn Sie jedoch Outlook oder Excel öffnen, wird das Add-In überhaupt nicht angezeigt. Es ist in der Multifunktionsleiste nicht sichtbar, und in vielen Fällen gibt es keine klaren Fehlermeldungen, die den Grund dafür erklären.

Dieses Verhalten tritt häufig bei der Arbeit mit VSTO auf. Das Problem hängt in der Regel nicht mit der Installation selbst zusammen, sondern damit, wie das Add-In signiert und vertrauenswürdig ist.

VSTO stützt sich auf mehrere Komponenten, die ordnungsgemäß signiert und aufeinander abgestimmt sein müssen. Wenn ein Teil dieser Kette fehlt oder nicht korrekt ist, kann das Add-In nicht in der Anwendung geladen werden, auch wenn alles korrekt installiert zu sein scheint.

Was verhindert das Laden des VSTO-Add-Ins?

Die häufigste Ursache für dieses Problem ist eine falsche oder unvollständige Signierung des VSTO-Pakets.

VSTO-Add-Ins bestehen aus mehreren Komponenten, darunter das Installationsprogramm, das Anwendungsmanifest und das Bereitstellungsmanifest. Diese Elemente sind miteinander verknüpft und müssen gemeinsam behandelt werden. Wenn Sie nur setup.exe signieren, ist nicht sichergestellt, dass das Add-In in der Office-Anwendung geladen wird.

Auch die Vertrauenswürdigkeit von Zertifikaten spielt eine wichtige Rolle. Selbst mit ordnungsgemäß signierten Dateien kann das Add-In nicht ausgeführt werden, wenn das Zertifikat auf dem Zielcomputer nicht vertrauenswürdig ist. In solchen Fällen kann Office es blockieren, ohne einen eindeutigen Fehler anzuzeigen.

Wie wir dies in der Praxis handhaben

Bei der Arbeit mit VSTO Add-Ins verfolgen wir einen strukturierten Ansatz, um sicherzustellen, dass alle erforderlichen Komponenten ordnungsgemäß signiert und vertrauenswürdig sind. Das Ziel ist nicht nur, die Installation abzuschließen, sondern auch sicherzustellen, dass das Add-In tatsächlich geladen und in der Office-Anwendung sichtbar wird.

Laden Sie zunächst das Windows-SDK herunter und erstellen Sie einen Ordner für Zertifikatsdateien, z. B. C:\Cert.

Wenn alles vorbereitet ist, öffnen Sie die Eingabeaufforderung und navigieren Sie zum Speicherort der Windows SDK-Tools:

C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86

Führen Sie die folgenden Befehle aus:

makecert -r -sv C:\Cert\ViaMonstra.pvk -n CN="ViaMonstra" C:\Cert\ViaMonstra.cer

Sie können das Passwort überspringen, indem Sie “Keines” wählen:

Überspringen des Zertifikatspassworts bei der Erstellung
cert2spc C:\Cert\ViaMonstra.cer C:\Cert\ViaMonstra.spc 
pvk2pfx -pvk C:\Cert\ViaMonstra.pvk -spc C:\Cert\ViaMonstra.spc -pfx C:\Cert\ViaMonstra.pfx

Sobald das Zertifikat erstellt ist, kann es zum Signieren von setup.exe verwendet werden. Führen Sie den folgenden Befehl aus:

signtool.exe sign /f C:\Cert\ViaMonstra.pfx /t http://timestamp.comodoca.com /v C:\work\Package\Files\setup.exe

Aktualisieren und signieren Sie anschließend das Anwendungsmanifest. Navigieren Sie in der Eingabeaufforderung zu

C:\Programmdateien (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools

Führen Sie dann den folgenden Befehl aus:

mage.exe -update "C:\work\Package\Files\Application Files\D2OutlookAddIn_1_0_2_3\D2OutlookAddIn.dll.manifest" -certfile C:\Cert\ViaMonstra.pfx
mage.exe -update "C:\work\Package\Files\Application Files\D2OutlookAddIn_1_0_2_3\D2OutlookAddIn.vsto" -appmanifest "C:\work\Package\Files\Application Files\D2OutlookAddIn_1_0_2_3\D2OutlookAddIn.dll.manifest" -certfile C:\Cert\ViaMonstra.pfx

mage.exe -update "C:\work\Package\Files\D2OutlookAddIn.vsto" -appmanifest "C:\work\Package\Files\Application Files\D2OutlookAddIn_1_0_2_3\D2OutlookAddIn.dll.manifest" -certfile C:\Cert\ViaMonstra.pfx

Während dieses Schritts können Fehlermeldungen über fehlende Dateien erscheinen. Dies ist nicht immer ein Hinweis auf einen Fehler, da das Manifest trotzdem erfolgreich signiert werden kann.

Wie man dem Zertifikat vertraut

Extrahieren Sie nach dem Signieren das Zertifikat von setup.exe und fügen Sie es zu den vertrauenswürdigen Zertifikatspeichern hinzu, wie unten gezeigt.

Details zur digitalen Signatur in den Eigenschaften von setup.exe
Details zur digitalen Signatur
Exportieren des Zertifikats mit der Option "In Datei kopieren".
Auswahl des Exportformats für Zertifikate
Festlegen des Dateinamens und des Speicherorts für das exportierte Zertifikat

Wenn Sie auf Weiter klicken, wird die Zertifikatsdatei erfolgreich exportiert.

Installieren Sie das exportierte Zertifikat in den Speichern der vertrauenswürdigen Stammzertifizierungsstellen und der vertrauenswürdigen Herausgeber.

Durch diese Schritte wird sichergestellt, dass das Zertifikat als vertrauenswürdig eingestuft wird, so dass das VSTO-Add-In in der Office-Anwendung geladen werden kann.

Schlussfolgerung

VSTO-Add-Ins erfordern mehr als einen Standard-Signierungsansatz. Selbst wenn die Installation erfolgreich abgeschlossen wird, können fehlende Schritte in der Signier- oder Vertrauenskette verhindern, dass das Add-In in der Office-Anwendung geladen wird.

Um sicherzustellen, dass das Add-In wie erwartet angezeigt wird und funktioniert, müssen alle Komponenten ordnungsgemäß signiert sein, und das Zertifikat muss auf dem Zielcomputer als vertrauenswürdig eingestuft werden.

Wenn Sie Hilfe bei der Anwendungspaketierung benötigen, können Sie sich jederzeit an das Apptimized-Team wenden.

More News from Apptimized

Der Hauptunterschied zwischen macOS-Programmen auf Intel- und ARM-Architekturen

Mit allen Vorteilen und umfangreichen Funktionen ist macOS in letzter…

White-Label-Option für die beste Anwendungslogistiklösung mit Apptimized

Apptimized ist offen für Partnerschaften, deshalb bieten wir für unsere…

Simplifying your path to Windows 10 – workshop

On January 29th at Microsoft’s Paddington, London offices, we held…