Freigeben über


Veröffentlichen Ihres Office-Add-Ins in Microsoft AppSource

Veröffentlichen Sie Ihr Office-Add-In in Microsoft AppSource , um es für Kunden und Unternehmen allgemein verfügbar zu machen. Microsoft AppSource ist ein Onlineshop, der Tausende von Geschäftsanwendungen und Diensten enthält, die von branchenführenden Softwareanbietern erstellt wurden. Wenn Sie Ihr Add-In in Microsoft AppSource veröffentlichen, stellen Sie es auch in der Produktumgebung in Office zur Verfügung.

Der Veröffentlichungsprozess

Bevor Sie fortfahren:

Wenn Sie bereit sind, Ihre Lösung in Microsoft AppSource und in Office einzuschließen, übermitteln Sie sie an Partner Center. Anschließend wird ein Genehmigungs- und Zertifizierungsprozess durchlaufen. Ausführliche Informationen finden Sie unter Bereitstellen Ihrer Lösungen in Microsoft AppSource und in Office.

Wenn Ihr Add-In in AppSource verfügbar ist, können Sie zwei weitere Schritte ausführen, um es breiter zu installieren.

Nach der Veröffentlichung in Microsoft AppSource können Sie einen Installationslink erstellen, um Kunden bei der Ermittlung und Installation Ihres Add-Ins zu unterstützen. Der Installationslink bietet eine "Klick- und Ausführungsfunktion". Platzieren Sie den Link auf Ihrer Website, in sozialen Medien oder an einem beliebigen Ort, von dem Sie denken, dass Ihre Kunden Ihr Add-In entdecken können. Wenn Benutzer den Link auswählen, wird die Office-Anwendung mit einem neuen Dokument geöffnet, und Ihr Add-In wird installiert, ohne dass Benutzer in Microsoft AppSource danach suchen und es manuell installieren müssen.

Hinweis

Installationslinks können nur für Excel-, PowerPoint- und Word-Add-Ins erstellt werden.

Es gibt zwei Arten von Links, je nachdem, ob die Office-Anwendung in Office im Web oder auf dem Office-Desktop geöffnet werden soll.

Hinweis

Die Art der Verknüpfung bestimmt nur die Plattform, die geöffnet wird, nicht die Plattformen, auf denen das Add-In installiert ist. Das Add-In wird auf jeder Plattform installiert, die alle im Manifest angegebenen Anforderungssätze unterstützt. Weitere Informationen finden Sie unter Office-Versionen und -Anforderungssätze.

In Office im Web öffnen

Verwenden Sie zum Erstellen des Links die folgende URL-Vorlage als Referenz.

https://go.microsoft.com/fwlink/?linkid={{linkId}}&templateid={{addInId}}&templatetitle={{addInName}}

Ändern Sie die Platzhalter in der URL wie folgt.

  • linkId: Gibt an, welcher Webendpunkt beim Öffnen des neuen Dokuments verwendet werden soll.

    • Für Word im Web:2261098
    • Für Excel im Web:2261819
    • Für PowerPoint im Web:2261820
  • addInId: Die ID Ihres Add-Ins, die in AppSource aufgeführt ist.

  • addInName: Der vollständige Titel Ihres Add-Ins. Dies muss URL-codiert sein.

Im Folgenden wird beispielsweise ein Installationslink für Script Lab angezeigt.

https://go.microsoft.com/fwlink/?linkid=2261819& templateid=WA104380862&templatetitle=Script%20Lab,%20a%20Microsoft%20Garage%20project

Die folgenden Parameterwerte werden für den Script Lab-Installationslink verwendet.

  • linkid: Der Wert 2261819 gibt den Excel-Endpunkt an. Script Lab unterstützt Word, Excel und PowerPoint, sodass dieser Wert geändert werden kann, um verschiedene Endpunkte zu unterstützen.
  • templateid: Der Wert WA104380862 ist die Microsoft AppSource-ID für Script Lab.
  • templatetitle: Der Wert Script%20Lab,%20a%20Microsoft%20Garage%20project ist der URL-codierte Wert des Titels.

Öffnen in Office unter Windows oder Mac

Verwenden Sie zum Erstellen des Links die folgende URL-Vorlage als Referenz.

{{appName}}:https://api.addins.store.office.com/addinstemplate/{{language}}/{{correlationID}}/{{addinId}}/none/{{addinName}}.{{fileFormat}}?omexsrctype=1&isexternallink=1

Ändern Sie die Platzhalter in der URL wie folgt.

  • appName: Dieser Parameter gibt an, welche Office-Anwendung geöffnet wird, wenn Benutzer auf den Link klicken.

    • Für Word:ms-word
    • Für Excel: ms-excel
    • Für PowerPoint: ms-powerpoint
  • Sprache: Dies ist die Sprache des Add-Ins. Beispiel: de-DE, ja-JPoder zh-CN.

  • correlationID: Eine GUID für Diagnosezwecke. Beispiel: "7bf846ec-905a-5edd-b162-83498f9a8674". Verwenden Sie ein GUID-Generierungstool. Wenn mehrere Benutzer über dieselbe GUID verfügen, wird der Diagnosezweck verworren. Daher wird empfohlen, sie zur Laufzeit zu generieren und pro Klick anders zu machen.

  • addInId: Die ID Ihres Add-Ins, wie in AppSource aufgeführt. Bei diesem Parameter wird die Groß-/Kleinschreibung beachtet. Verwenden Sie Großbuchstaben.

  • addInName: Der vollständige Name Ihres Add-Ins. Dies muss URL-codiert sein.

  • fileFormat: Gibt das Format der erstellten Datei an.

    • Für Word:docx
    • Für Excel: xlsx
    • Für PowerPoint: pptx

Im Folgenden wird beispielsweise ein Installationslink für Script Lab in Word unter Windows mit en-US als Sprache angezeigt.

ms-word:https://api.addins.store.office.com/addinstemplate/en-US/228a829b-69d7-45f4-a338-c6aba330ec7e/WA104380862/none/Script%20Lab,%20a%20Microsoft%20Garage%20project.docx?omexsrctype=1&isexternallink=1

Einschließen des Add-Ins in die Installation einer Windows-App oder eines COM/VSTO-Add-Ins

Wenn Sie über eine Windows-App oder ein COM- oder VSTO-Add-In verfügen, deren Funktionen sich mit Ihrem Office Web-Add-In überschneiden, sollten Sie das Web-Add-In in die Installation (oder ein Upgrade) der Windows-App oder des COM/VSTO-Add-Ins einbeziehen. (Diese Installationsoption wird nur für Excel, PowerPoint und Word-Add-Ins unterstützt.) Der Prozess dazu hängt davon ab, ob Sie ein zertifizierter Microsoft 365-Entwickler sind. Weitere Informationen finden Sie unter Microsoft 365 App Compliance Program und Übersicht über das Microsoft 365-App-Complianceprogramm.

Im Folgenden werden die grundlegenden Schritte dargestellt:

  1. Teilnehmen am Zertifizierungsprogramm (empfohlen)
  2. Aktualisieren Der ausführbaren Installationsdatei (erforderlich)

Es wird empfohlen, am Entwicklerzertifizierungsprogramm teilzunehmen. Dadurch kann Ihr Installationsprogramm unter anderem reibungsloser ausgeführt werden. Weitere Informationen finden Sie in den folgenden Artikeln:

Aktualisieren Der ausführbaren Installationsdatei (erforderlich)

Im Folgenden werden die Schritte zum Aktualisieren der ausführbaren Installationsdatei beschrieben.

  1. Überprüfen, ob die Office-Version des Benutzers die Add-Ins unterstützt (empfohlen)
  2. Überprüfen auf AppSource-Deaktivierung (empfohlen)
  3. Erstellen eines Registrierungsschlüssels für das Add-In (erforderlich)
  4. Einschließen von Datenschutzbestimmungen in Ihre Geschäftsbedingungen & Bedingungen (für zertifizierte Entwickler erforderlich)

Es wird empfohlen, dass Ihre Installation überprüft, ob der Benutzer die Office-Anwendung (Excel, PowerPoint oder Word) installiert hat und ob die Office-Anwendung ein Build ist, der das Einschließen eines Web-Add-Ins in eine Windows-Anwendungsinstallation unterstützt. Wenn es sich um eine alte Version handelt, die keine Web-Add-Ins unterstützt, sollte das Installationsprogramm alle verbleibenden Schritte überspringen. Erwägen Sie, dem Benutzer eine Meldung anzuzeigen, die empfiehlt, die neueste Version von Microsoft 365 zu installieren oder zu aktualisieren, damit er ihr Web-Add-In nutzen kann. Sie müssten die Installation nach der Installation oder dem Upgrade erneut ausführen.

Der genaue erforderliche Code hängt vom Installationsframework und der verwendeten Programmiersprache ab. Im Folgenden finden Sie ein Beispiel für die Überprüfung mit C#.

Hinweis

Die Installation kann so konzipiert werden, dass das Add-In für alle Benutzer des Computers installiert wird, wenn ein Administrator des Computers das Installationsprogramm ausführt. Um diesen Entwurf zu implementieren, aktualisieren Sie den Code, um die folgenden Schritte auszuführen.

  • Überprüfen Sie, ob der Benutzer ein Administrator des Computers ist.

  • Wenn der Benutzer ein Administrator ist, sollte der Code eine der folgenden Aktionen ausführen.

    • Wenn Sie die Installation des Add-Ins für alle Benutzer erzwingen möchten, sollte der Code die supportLocalComputer Variable auf truefestlegen.
    • Wenn Sie dem Administrator die Möglichkeit geben möchten, das Add-In nur für sich selbst oder für alle Benutzer auf dem Computer zu installieren, sollte der Code dem Administrator ein Dialogfeld anzeigen, die Auswahl des Administrators zurückgeben und die supportLocalComputer Variable entsprechend festlegen.
using Microsoft.Win32;
using System;

namespace SampleProject
{
    internal class IsBuildSupportedSample
    {
        /// <summary>
        /// This function checks if the build of the Office application supports web add-ins. 
        /// </summary>
        /// <returns> Returns true if the supported build is installed, and false if an old, unsupported build is installed or if the app is not installed at all.</returns>
        private bool IsBuildSupported()
        {
            RegistryKey hklm = Registry.CurrentUser;
            string basePath = @"Software\Microsoft\Office";
            RegistryKey baseKey = Registry.CurrentUser.OpenSubKey(basePath);
            string wxpName = "Word"; // Can be one of "Word", "Powerpoint", or "Excel".
            bool supportLocalComputer = false; // True means LOCAL_MACHINE support, false means CURRENT_USER support.


            const string buildNumberStr = "BuildNumber"; 
            const int smallBuildNumber = 18227; // This is the minimum build that supports installation of a web add-in in the installation of a Windows app.
            if (supportLocalComputer)
            {
              smallBuildNumber = 18730; // This is the minimum build that supports installation of a web add-in, for all users of the computer, in the installation of a Windows app.
            }
            const int supportedBuildMajorNumber = 16; // 16 is the lowest major build of Office applications that supports web add-ins.

            if (baseKey != null)
            {
                Version maxVersion = new Version(supportedBuildMajorNumber, 0); // Initial value for the max supported build version
                foreach (string subKeyName in baseKey.GetSubKeyNames())
                {
                    if (Version.TryParse(subKeyName, out Version version))
                    {
                        if (version > maxVersion)
                        {
                            maxVersion = version;
                        }
                    }
                }

                string maxVersionString = maxVersion.ToString();
                // The Office application's build number is under this path.
                RegistryKey buildNumberKey = hklm.OpenSubKey(String.Format(@"Software\Microsoft\\Office\{0}\\Common\Experiment\{1}", maxVersionString, wxpName));

                if (maxVersion.Major >= supportedBuildMajorNumber && buildNumberKey != null)
                {
                    object buildNumberValue = buildNumberKey.GetValue(buildNumberStr);
                    if (buildNumberValue != null && Version.TryParse(buildNumberValue.ToString(), out Version version))
                    {
                        if (version.Major > supportedBuildMajorNumber || (version.Major == supportedBuildMajorNumber && version.Build >= smallBuildNumber))
                        {
                            // Build is supported
                            return true;
                        }
                        else
                        {
                            // Office is installed, but the build is not supported.
                            return false;
                        }
                    }
                    else
                    {
                        // There is no build number, which is an abnormal case.
                        return false;
                    }
                }
                else
                {
                    // An old version is installed.
                    return false;
                }
            }
            else
            {
                // Office is not installed.
                return false;
            }
        }
    }
}

Es wird empfohlen, dass Ihre Installation überprüft, ob der AppSource-Speicher in der Office-Anwendung des Benutzers deaktiviert ist. Microsoft 365-Administratoren deaktivieren manchmal den Store. Wenn der Speicher deaktiviert ist, sollte das Installationsprogramm alle verbleibenden Schritte überspringen. Erwägen Sie, dem Benutzer eine Meldung anzuzeigen, die empfiehlt, sich über Ihr Web-Add-In an den Administrator zu wenden. Sie müssten die Installation erneut ausführen, nachdem der Speicher aktiviert wurde.

Im Folgenden finden Sie ein Beispiel für die Überprüfung auf Die Deaktivierung des Speichers.

using Microsoft.Win32;
using System;

namespace SampleProject
{
    internal class IsStoreEnabledSample
    {
        /// <summary>
        /// This function checks if the store is enabled.
        /// </summary>
        /// <returns> Returns true if it store is enabled, false if store is disabled.</returns>
        private bool IsStoreEnabled()
        {
            RegistryKey hklm = Registry.CurrentUser;
            string basePath = @"Software\Microsoft\Office";
            RegistryKey baseKey = Registry.CurrentUser.OpenSubKey(basePath);
            const int supportedBuildMajorNumber = 16;

            if (baseKey != null)
            {
                Version maxVersion = new Version(supportedBuildMajorNumber, 0); // Initial value for the maximum supported build version.
                foreach (string subKeyName in baseKey.GetSubKeyNames())
                {
                    if (Version.TryParse(subKeyName, out Version version))
                    {
                        if (version > maxVersion)
                        {
                            maxVersion = version;
                        }
                    }
                }

                string maxVersionString = maxVersion.ToString();

                // The StoreDisabled value is under this registry path.
                string antoInstallPath = String.Format(@"Software\Microsoft\Office\{0}\Wef\AutoInstallAddins", maxVersionString);
                RegistryKey autoInstallPathKey = Registry.CurrentUser.OpenSubKey(autoInstallPath);

                if (autoInstallPathKey != null)
                {
                    object storedisableValue = autoInstallPathKey.GetValue("StoreDisabled");

                    if (storedisableValue != null)
                    {
                        int value = (int)storedisableValue;
                        if (value == 1)
                        {
                            // Store is disabled
                            return false;
                        }
                        else
                        {
                            // Store is enabled
                            return true;
                        }
                    }
                    else
                    {
                        // No such key exists since the build does not have the value, so the store is enabled.
                        return true;
                    }
                }
                else
                {
                    // The registry path does not exist, so the store is enabled.
                    return true;
                }
            }
            else
            {
                // Office is not installed at all.
                return false;
            }
        }
    }
}
Erstellen eines Registrierungsschlüssels für das Add-In (erforderlich)

Fügen Sie im Installationsprogramm eine Funktion zum Hinzufügen eines der folgenden Schlüssel und Werte zur Windows-Registrierung ein, je nachdem, ob das Add-In für alle Benutzer des Computers oder nur für den Benutzer installiert wird, der das Installationsprogramm ausführt.

// Only the current user.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}] 
"AssetIds"="{{assetId}}"

// All users of the computer.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}] 
"AssetIds"="{{assetId}}"

Ersetzen Sie die Platzhalter wie folgt:

  • {{OfficeApplication}} mit dem Namen der Office-Anwendung, in der das Add-In installiert werden soll. Nur Word, Excelund PowerPoint werden unterstützt.

    Hinweis

    Wenn das Manifest des Add-Ins so konfiguriert ist, dass es mehrere Office-Anwendungen unterstützt, ersetzen Sie durch {{OfficeApplication}}eine der unterstützten Anwendungen. Erstellen Sie keine separaten Registrierungseinträge für jede unterstützte Anwendung. Das Add-In wird für alle unterstützten Office-Anwendungen installiert.

  • {{add-inName}} mit dem Namen des Add-Ins; z. B ContosoAdd-in. .

  • {{assetId}} mit der AppSource-Ressourcen-ID Ihres Add-Ins, z WA999999999. B. .

Es folgt ein Beispiel.

// Only the current user.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in] 
"AssetIds"="WA999999999"

// All users of the computer.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\AutoInstallAddins\Word\ContosoAdd-in] 
"AssetIds"="WA999999999"

Der genaue Code hängt von Ihrem Installationsframework und ihrer Programmiersprache ab. Im Folgenden finden Sie ein Beispiel in C#.

Hinweis

Um das Add-In für alle Benutzer zu installieren, ändern Sie diesen Code so, dass WriteRegisterKeys einen bool Parameter akzeptiert. Die -Methode sollte die supportLocalMachine Variable auf den übergebenen Wert festlegen: true für alle Benutzer zu installieren, false um nur für den aktuellen Benutzer zu installieren.

using Microsoft.Win32;
using System;

namespace SampleProject
{
   internal class WriteRegisterKeysSample
   {
        /// <summary>
        /// This function writes information to the registry that will tell Office applications to install the web add-in.
        /// </summary>

        private void WriteRegisterKeys()
        {
            bool supportLocalMachine = false; // false = CurrentUser, true = LocalMachine
            RegistryKey targetRootKey = supportLocalMachine ? Registry.LocalMachine : Registry.CurrentUser;

            string basePath = @"Software\Microsoft\Office";
            using (RegistryKey baseKey = targetRootKey.OpenSubKey(basePath))
            {
                if (baseKey == null)
                {
                    Console.WriteLine("Base registry path not found.");
                    return;
                }

                string wxpName = "Word";  // Can be "Word", "Powerpoint", or "Excel".
                string assetID = "WA999999999"; // AppSource asset ID of your web add-in.
                string appName = "ContosoAddin"; // Your web add-in name.
                const int supportedBuildMajorNumber = 16;
                const string assetIdStr = "AssetIDs";

                Version maxVersion = new Version(supportedBuildMajorNumber, 0);
                foreach (string subKeyName in baseKey.GetSubKeyNames())
                {
                    if (Version.TryParse(subKeyName, out Version version))
                    {
                        if (version > maxVersion)
                        {
                            maxVersion = version;
                        }
                    }
                }

                string maxVersionString = maxVersion.ToString();
                string subKeyPath = supportLocalMachine
                ? $@"Software\Microsoft\Office\{maxVersionString}\AutoInstallAddins\{wxpName}\{appName}"
                : $@"Software\Microsoft\Office\{maxVersionString}\Wef\AutoInstallAddins\{wxpName}\{appName}";

                using (RegistryKey addInKey = targetRootKey.CreateSubKey(subKeyPath))
                {
                    if (addInKey != null)
                    {
                        addInKey.SetValue(assetIdStr, assetID);
                    }
                    else
                    {
                        Console.WriteLine("Failed to create or open the registry subkey.");
                    }
                }
            }
        }

    }
}
Einschließen von Datenschutzbestimmungen in Ihre Geschäftsbedingungen & Bedingungen (für zertifizierte Entwickler erforderlich)

Überspringen Sie diesen Abschnitt, wenn Sie kein Mitglied des Zertifizierungsprogramms sind, aber es ist erforderlich, wenn Sie dies sind.

Fügen Sie in den Installationsprogrammcode ein, um einen der folgenden Schlüssel und Werte zur Windows-Registrierung hinzuzufügen, je nachdem, ob das Add-In für alle Benutzer des Computers oder nur für den Benutzer installiert wird, der das Installationsprogramm ausführt.

// Only the current user.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}] 
"HasPrivacyLink"="1"

// All users of the computer.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}] 
"HasPrivacyLink"="1"

Ersetzen Sie die {{OfficeApplication}} Platzhalter und {{add-inName}} genau wie im vorherigen Abschnitt. Es folgt ein Beispiel.

// Only the current user.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in] 
"HasPrivacyLink"="1"

// All users of the computer.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\AutoInstallAddins\Word\ContosoAdd-in] 
"HasPrivacyLink"="1"

Um dies zu implementieren, nehmen Sie einfach zwei kleine Änderungen am Codebeispiel im vorherigen Abschnitt vor.

  1. Fügen Sie der Liste der consts oben in der WriteRegistryKeys Methode die folgende Zeile hinzu:

    const string hasPrivacyLinkStr = "HasPrivacyLink"; // Indicates that your installer has a privacy link.
    
  2. Fügen Sie direkt unter der Zeile AddInNameKey.SetValue(assetIdStr, assetID);die folgenden Zeilen hinzu:

    // Set this value if the Privacy Consent has been shown on the main app installation program, this is required for a silent installation of the web add-in.
    AddInNameKey.SetValue(hasPrivacyLinkStr, 1);
    

Die Installationserfahrung des Benutzers

Wenn ein Endbenutzer die ausführbare Installationsdatei ausführt, hängt seine Erfahrung mit der Web-Add-In-Installation von zwei Faktoren ab.

Wenn Sie zertifiziert sind und der Administrator die automatische Genehmigung für alle Apps von zertifizierten Entwicklern aktiviert hat, wird das Web-Add-In installiert, ohne dass eine besondere Aktion des Benutzers erforderlich ist, nachdem die ausführbare Installationsdatei gestartet wurde. Wenn Sie nicht zertifiziert sind oder der Administrator keine automatische Genehmigung für alle Apps von zertifizierten Entwicklern erteilt hat, wird der Benutzer aufgefordert, die Aufnahme des Web-Add-Ins als Teil der Gesamtinstallation zu genehmigen. Nach der Installation steht dem Benutzer das Web-Add-In in Office im Web sowie Office unter Windows zur Verfügung.

Wenn Sie die Installation eines Web-Add-Ins mit einem COM/VSTO-Add-In kombinieren, müssen Sie die Beziehung zwischen den beiden berücksichtigen. Weitere Informationen finden Sie unter Kompatibilität Ihres Office-Add-Ins mit einem vorhandenen COM-Add-In.