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.

Über den Link wird ein neues Word-, Excel- oder PowerPoint-Dokument im Browser für den angemeldeten Benutzer geöffnet. Ihr Add-In wird automatisch in das neue Dokument geladen, sodass Sie Benutzer dazu anleiten können, Ihr Add-In auszuprobieren, ohne es in Microsoft AppSource suchen und manuell installieren zu müssen.

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 drei Parameter in der vorherigen URL wie folgt, um Ihr Add-In zu unterstützen.

  • 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

    Anmerkung: Outlook wird derzeit nicht unterstützt.

  • templateid: Die ID Ihres Add-Ins, die in Microsoft AppSource aufgeführt ist.

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

Wenn Sie beispielsweise einen Installationslink für Script Lab bereitstellen möchten, verwenden Sie den folgenden Link.

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 , bei dem es sich um den HTML-codierten Wert des Titels handelt.

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#.

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".


            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.
            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 in das Installationsprogramm eine Funktion ein, um einen Eintrag wie im folgenden Beispiel zur Windows-Registrierung hinzuzufügen.

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\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.

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\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#.

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()
       {
           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".
           string assetID = "WA999999999"; // Use the AppSource asset ID of your web add-in.
           string appName = "ContosoAddin"; // Pass your own web add-in name.
           const int supportedBuildMajorNumber = 16; // Major Office build numbers before 16 do not support web add-ins.
           const string assetIdStr = "AssetIDs"; // A registry key to indicate that there is a web add-in to install along with the main app.

           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();

               // Create the path under AutoInstalledAddins to write the AssetIDs value.
               RegistryKey AddInNameKey = hklm.CreateSubKey(String.Format(@"Software\Microsoft\Office\{0}\Wef\AutoInstallAddins\{1}\{2}", maxVersionString, wxpName, appName));
               if (AddInNameKey != null)
               {
                   AddInNameKey.SetValue(assetIdStr, assetID);
               }
           }
       }
   }
}
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, es aber erforderlich ist, wenn Sie dies sind.

Fügen Sie in den Installationsprogrammcode ein, um der Windows-Registrierung einen Eintrag wie im folgenden Beispiel hinzuzufügen.

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}] 
"HasPrivacyLink"="1"

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

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\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.