Das Aktualisieren von ClickOnce VSTO AddIn aus dem Office selbst aktualisiert das AddIn nicht

8

Ich habe eine Schaltfläche in einer Multifunktionsleiste, um nach AddIn (selbst) Updates zu suchen

Hier ist der Code

%Vor%

Was passiert, ist, dass ich die "DONE" -Meldungsbox bekomme, aber nach dem Neustart des Excel, ist das Addin eigentlich nicht aktualisiert und Ich kann es nicht mehr aktualisieren, weil ich das nächste Mal auf dieselbe Schaltfläche klicke Das ApplicationDeployment.IsNetworkDeployed gibt false zurück.

Wie kann ich das beheben?

    
Mike 21.09.2016, 14:11
quelle

1 Antwort

0

Ich glaube, dass die Antwort in diesem MSDN-Beitrag gefunden werden kann: VSTO, ClickOnce und automatische Aktualisierung

Ein Auszug:

  

Dies ist wahr : VSTO-Anwendungen sind ClickOnce-Anwendungen

     

Dies ist nicht wahr : Die ClickOnce-API wird von VSTO-Anwendungen unterstützt    Warum : Während es sich bei VSTO-Anwendungen um ClickOnce-Anwendungen handelt, sind Funktionen erforderlich, die die Basisimplementierung von ClickOnce erweitern. Ein Produkt dieser Anforderung ist, dass nicht alles in ClickOnce (für Windows Forms) für VSTO gilt. Einer dieser spezifischen Bereiche ist die Runtime-API.

     

Dies ist wahr : Einige Teile der API funktionieren    Warum : Da die VSTO-Laufzeit den Kern von ClickOnce verwendet, funktionieren einige Teile tatsächlich. Was nicht bekannt ist, ist wo genau diese Linie gezeichnet wird. Ich habe eine sehr lockere allgemeine Faustregel gefunden: Alles, was den Status der Anwendung nicht ändert (alles, was Sie mit "Informationen" versorgt) wird wahrscheinlich funktionieren. Das ist der Grund, warum mein Blogbeitrag beschreibt, wie man die API benutzt, um nach dem Update zu "checken", aber die VSTOInstaller-Exe benutzt, um den Aktualisierungsvorgang durchzuführen.

     

Dies ist nicht wahr : Sie können die API zum Herunterladen eines Updates verwenden    Warum : Dies geht auf den ClickOnce / VSTO-Unterschied zurück. Wenn Sie sich ClickOnce als diese generische Technologie vorstellen, können Sie sich VSTO als eine spezifische Implementierung vorstellen. In den meisten Fällen (speziell in Winforms-Anwendungen) wird die generische Technologie alles tun, was erforderlich ist. Für VSTO mussten wir jedoch die Technologie erweitern, um sie so zu machen, wie sie es noch nie zuvor getan hatte (speziell Anpassungen mit Office registrieren und einige Daten verwalten, um Einstiegspunkte einzurichten und was nicht). Daher bietet die generische Technologie nicht alle Funktionen, die wir benötigen. In diesem speziellen Fall ändert sich bei einem Update der Zustand der Anwendung so, dass wir einige Registrierungsinformationen für Office ändern müssen. ClickOnce "weiß" nicht genug, um diese Werte zu aktualisieren, und ist daher (in seinem aktuellen Zustand) nicht in der Lage, eine "korrekte" Aktualisierung einer VSTO-Anwendung durchzuführen. Es ist die VSTO Runtime, die diese Schritte ausführt.

Er erwähnt einen Blogbeitrag, der meiner Meinung nach folgender ist: Click-Once erzwungene Updates in VSTO: Einige Dinge, die wir nicht empfehlen zu verwenden, die Sie sowieso berücksichtigen könnten.

Ein Auszug:

%Vor%

Es ist nicht gerade produktionsfertiger Code, aber Sie bekommen die Idee.

    
Chris 03.05.2017 21:08
quelle

Tags und Links