Freigeben über


Problembehandlung bei der Bereitstellung von Office-Lösungen

Gilt für: Visual Studio

In diesem Artikel wird erläutert, wie Sie häufige Probleme lösen, die beim Bereitstellen von Office-Lösungen auftreten können.

Die Informationen in diesem Artikel gelten für Projekte auf Dokumentebene und Visual Studio-Tools für Office-Add-In-Projekte (VSTO). Siehe Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Behandeln von Problemen mit Office-Lösungen mithilfe der Ereignisanzeige

Sie können die Ereignisanzeige in Windows verwenden, um Fehlermeldungen anzuzeigen, die von der Visual Studio-Tools für Office-Runtime erfasst werden, wenn Sie Office-Lösungen installieren oder deinstallieren. Sie können diese Meldungen aus der Ereignisprotokollierung verwenden, um Installations- und Bereitstellungsprobleme zu beheben. Weitere Informationen finden Sie unter Ereignisprotokollierung für Office-Lösungen.

Ändern des Assemblynamens führt zu Konflikten

Wenn Sie den Assemblynamenwert auf der Seite "Anwendung" des Project Designer ändern, nachdem Sie bereits eine Lösung bereitgestellt haben, ändern die Veröffentlichungstools das Setuppaket so, dass es eine Setup.exe Datei und zwei Bereitstellungsmanifesten enthält. Wenn Sie zwei Manifestdateien bereitstellen, treten möglicherweise die folgenden Bedingungen ein:

  • Wenn der Endbenutzer beide Versionen installiert, werden von der Anwendung beide VSTO-Add-Ins geladen.
  • Wurde das VSTO-Add-In vor Änderung des Assemblynamens installiert, empfängt der Endbenutzer niemals Updates.

Um diese Bedingungen zu vermeiden, ändern Sie den Assemblynamenwert der Lösung nach der Bereitstellung der Lösung nicht.

Die Suche nach Updates dauert lange.

Visual Studio 2010 Tools for Office runtime stellt einen Registrierungseintrag bereit, mit dem Administratoren den Timeoutwert für das Herunterladen der Manifeste und der Lösung festlegen können.

Festlegen des Timeoutwerts

  1. Navigieren Sie in der Registrierung zu folgendem Schlüssel:

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

  2. Legen Sie im Unterschlüssel AddInTimeout den Timeoutwert in Millisekunden fest.

    Ist der Unterschlüssel AddInTimeout nicht vorhanden, erstellen Sie ihn als DWORD.

Aktualisieren oder Veröffentlichen in einer Netzwerkdateifreigabe nicht möglich

Office-Lösungen, die sich in einer Netzwerkdateifreigabe befinden, zeigen möglicherweise während updates eine irreführende Meldung an, wenn die Setup.exe Datei der Lösung in einem Prozess gesperrt ist, während das Update veröffentlicht wird. In der Meldung wird möglicherweise Folgendes angezeigt: "Die Datei 'setup.exe' konnte dem Web nicht hinzugefügt werden. Die Datei 'setup.exe' ist in diesem Web bereits vorhanden."

Eine Dateisperrung verhindern Sie dadurch, dass Sie die Freigabe Endbenutzern nur schreibgeschützt zur Verfügung stellen. Wenn sich dokumente jedoch auf der Freigabe befinden, werden sie auch für die Endbenutzer schreibgeschützt.

Voraussetzungen für Microsoft Office sind nicht installiert

Sie können .NET Framework, die Visual Studio-Tools für Office-Laufzeit und die primären Interopassemblys von Office zu Ihrem Setuppaket als Voraussetzungen hinzufügen, die mit Ihrer Office-Lösung bereitgestellt werden. Informationen zum Installieren der primären Interopassemblys finden Sie unter Konfigurieren eines Computers zum Entwickeln von Office-Lösungen und zum Installieren der primären Interopassemblys von Office.

Die Veröffentlichung mit Localhost kann Zu Installationsproblemen führen

Wenn Sie als Veröffentlichungs- oder Installationsspeicherort für Lösungen auf Dokumentebene verwenden http://localhost , konvertiert der Veröffentlichungs-Assistent die Zeichenfolge nicht in den tatsächlichen Computernamen. In diesem Fall muss die Projektmappe nur auf dem Entwicklungscomputer installiert werden. Damit bereitgestellte Projektmappen auf dem Entwicklungscomputer Internetinformationsdienste verwenden, muss anstelle von localhost der vollqualifizierte Name für alle HTTP/HTTPS/FTP-Speicherorte verwendet werden.

Zwischengespeicherte Assemblys werden anstelle aktualisierter Assemblys geladen.

Fusion, das Assemblyladeprogramm von .NET Framework, lädt die zwischengespeicherte Kopie der Assemblys, wenn sich der Projektausgabepfad in einer Netzwerkdateifreigabe befindet, die Assembly mit einem starken Namen signiert ist und die Assemblyversion der Anpassung nicht geändert wird. Wird eine Assembly aktualisiert, die diese Bedingungen erfüllt, wird das Update erst bei der nächsten Ausführung des Projekts angezeigt, da die zwischengespeicherte Kopie geladen wird.

Visual Studio kann so konfiguriert werden, dass bei jeder Ausführung des Projekts Assemblys von Fusion heruntergeladen werden.

So laden Sie Assemblys herunter, anstatt zwischengespeicherte Kopien zu laden

  1. Wählen Sie auf der Menüleiste "Project", <"ProjectName-Eigenschaften> " aus.
  2. Wählen Sie auf der Seite "Anwendung" die Option "Assemblyinformationen" aus.
  3. Legen Sie die Revisionsnummer (drittes Feld) der Assemblyversion auf eine Platzkarte (*) fest. Beispiel: "1.0.*". Wählen Sie anschließend die Schaltfläche OK aus.

Nach dem Ändern der Assemblyversion kann die Signatur der Assembly mit einem starken Namen fortgesetzt werden, und die aktuellste Version der Anpassung wird geladen.

Notiz

Ab Visual Studio 2017 tritt ein Buildfehler auf, wenn Sie versuchen, Wildcards in der Assemblyversion zu verwenden. Dies liegt daran, dass Wildcards in der Assemblyversion das MSBuild-Deterministic-Feature unterbrechen. Sie werden angewiesen, entweder die Wildcards aus der Assemblyversion zu entfernen oder determinismus zu deaktivieren. Weitere Informationen zum Deterministischen Feature finden Sie unter: Allgemeine MSBuild-Projekteigenschaften und Anpassen Des Builds

Die Installation schlägt fehl, wenn der URI Zeichen enthält, die nicht US-ASCII sind.

Wird eine Office-Projektmappe in einem HTTP/HTTPS/FTP-Speicherort veröffentlicht, darf der Pfad keine Unicode-Zeichen enthalten, die nicht in US-ASCII vorliegen. Solche Zeichen können zu inkonsistentem Verhalten im Setup-Programm führen. Verwenden Sie für den Installationspfad US-ASCII-Zeichen.

Aufforderung zum manuellen Deinstallieren wird angezeigt, wenn Sie eine Lösung auf dem Entwicklungscomputer veröffentlichen und installieren.

Wenn Sie eine Office-Projektmappe erstellen, wird die erstellte Version automatisch registriert. Wenn Sie zuvor dieselbe Lösung auf Ihrem Entwicklungscomputer veröffentlicht und installiert haben, erkennt Visual Studio-Tools für Office-Runtime, dass der Installationspfad für die veröffentlichte Version und die erstellte Version unterschiedlich sind, nachdem die Lösung als nächstes erstellt, neu erstellt oder veröffentlicht wurde. Die Fehlermeldung besagt: "Die Anpassung kann nicht installiert werden, weil derzeit eine andere Version installiert ist und von diesem Speicherort nicht aktualisiert werden kann.". Die Registrierungsschlüssel werden immer dann aktualisiert, wenn eine Lösung neu erstellt wird. Daher müssen Sie die frühere Version deinstallieren, bevor Sie die neue Version veröffentlichen, debuggen oder ausführen.

Um zu verhindern, dass diese Meldung angezeigt wird, erstellen Sie auf dem Entwicklungscomputer ein weiteres Benutzerkonto zum Testen der Bereitstellung. Sie können jedoch auch die Version aus der Liste der auf dem Computer installierten Programme entfernen, bevor Sie die Projektmappe wieder veröffentlichen, debuggen oder erneut erstellen.

Uncaught exception or method not found error when you install a solution

Wenn Sie Office-Lösungen installieren, indem Sie das Bereitstellungsmanifest (eine VSTO-Datei), Office-App lizenzierung, ein Dokument oder eine Arbeitsmappe öffnen, werden möglicherweise Fehlermeldungen für die folgenden Bedingungen angezeigt:

  • Methode wurde nicht gefunden.
  • MissingMethodException.
  • Nicht abgefangene Ausnahme.

Um diese Fehler zu vermeiden, installieren Sie die Projektmappe, indem Sie das Setupprogramm ausführen.

Wenn Sie die Projektmappe installieren, ohne das Setupprogramm auszuführen, werden die erforderlichen Komponenten vom Installationsprogramm nicht überprüft oder installiert. Das Setupprogramm sucht nach der entsprechenden Version der erforderlichen Komponenten und installiert sie gegebenenfalls.

Manifestregistrierungsschlüssel für Add-Ins ändern sich, nachdem ein InstallShield Limited Edition-Projekt erstellt wurde

Der Manifestregistrierungsschlüssel, der Teil eines VSTO-Add-In-Setupprogramms ist, ändert sich manchmal von VSTO in .dll.manifest , wenn Sie ein InstallShield Limited Edition-Projekt erstellen.

Um dieses Problem zu umgehen, müssen Sie das InstallShield Limited Edition-Projekt in einer anderen Projektmappe erstellen oder für den Registrierungsschlüssel, der den Namen des VSTO-Add-Ins enthält, CompanyName.AddinName als Wert angeben.

Das ClickOnce-Installationsprogramm für Ihre Office-Lösung installiert nicht die primären Interopassemblys.

Wenn Sie das Setupprogramm ausführen, das von ClickOnce für die Office-Projektmappe erstellt wird, wird das Installationsprogramm für die primären Interop-Assemblys von Office (PIAs) nur ausgeführt, wenn noch keine PIAs installiert sind.

Wenn das Setupprogramm die PIAs nicht ordnungsgemäß installiert, installieren Sie sie manuell, indem Sie die Installationsprogrammdatei ausführen, die o2007pia.msi aus dem Installationsverzeichnis heißt.

Erneutes Installieren von Office-Lösungen führt zu einem Argument außerhalb der Bereichsausnahme

Wenn Sie eine Office-Projektmappe neu installieren, wird möglicherweise eine ArgumentOutOfRangeException -Ausnahme mit der Fehlermeldung "Das angegebene Argument liegt außerhalb des gültigen Wertebereichs" angezeigt.

Dieser Fall tritt ein, wenn sich die Groß-/Kleinschreibung für die Installationspfad-URL unterscheidet. Dieser Fehler würde beispielsweise angezeigt, wenn Sie eine Office-Lösung zum http://fabrikam.com/ExcelSolution.vsto ersten Mal installiert und dann das zweite Mal verwendet haben http://fabrikam.com/excelsolution.vsto .

Sie können diesen Fehler vermeiden, indem Sie beim Installieren von Office-Projektmappen die gleiche Groß-/Kleinschreibung verwenden.

Eine ClickOnce-Lösung kann nicht installiert werden, indem das Bereitstellungsmanifest aus dem Web geöffnet wird.

Benutzer können Office-Projektmappen installieren, indem sie das Bereitstellungsmanifest aus dem Web öffnen. Einige Installationen von Internetinformationsdienste (IIS) blockieren jedoch die Dateinamenerweiterung VSTO. Sie müssen den MIME-Typ in IIS definieren, bevor Sie ihn zur Bereitstellung einer Office-Projektmappe verwenden.

Informationen zum Definieren des MIME-Typs in IIS 7 finden Sie unter Hinzufügen eines MIME-Typs (IIS7).

Legen Sie die Erweiterung auf .vsto und den MIME-Typ auf application/x-ms-vstofest.

References