Publicación del complemento de Office en Microsoft AppSource
Publique el complemento de Office en Microsoft AppSource para que esté ampliamente disponible para clientes y empresas. Microsoft AppSource es una tienda en línea que contiene miles de aplicaciones y servicios empresariales creados por proveedores de software líderes del sector. Al publicar el complemento en Microsoft AppSource, también lo hace disponible en la experiencia del producto en Office.
El proceso de publicación
Antes de continuar:
- Tener una cuenta del Centro de partners.
- Asegúrese de que el complemento cumple las directivas de validación de AppSource aplicables.
- Confirme que está listo para publicar.
Cuando esté listo para incluir la solución en Microsoft AppSource y en Office, envíela al Centro de partners. A continuación, pasa por un proceso de aprobación y certificación. Para obtener detalles completos, consulte Hacer que las soluciones estén disponibles en Microsoft AppSource y en Office.
Cuando el complemento está disponible en AppSource, hay dos pasos adicionales que puede seguir para que esté más instalado.
- Proporcionar un vínculo de instalación
- Incluir el complemento en la instalación de una aplicación de Windows o un complemento COM o VSTO
Proporcionar un vínculo de instalación
Después de publicar en Microsoft AppSource, puede crear un vínculo de instalación para ayudar a los clientes a detectar e instalar el complemento. El vínculo de instalación proporciona una experiencia de "hacer clic y ejecutar". Coloque el vínculo en su sitio web, redes sociales o en cualquier lugar en el que piense que ayuda a sus clientes a descubrir el complemento. Cuando los usuarios seleccionan el vínculo, la aplicación de Office se abre con un nuevo documento y el complemento se instala sin necesidad de que los usuarios lo busquen en Microsoft AppSource e instálelo manualmente.
Nota:
Los vínculos de instalación solo se pueden crear para Excel, PowerPoint y Word complementos.
Hay dos estilos de vínculos en función de si desea que la aplicación de Office se abra en Office en la Web o en Office de escritorio.
Nota:
El estilo de vínculo determina solo la plataforma que se abre, no las plataformas donde está instalado el complemento. El complemento se instala en todas las plataformas que admiten todos los conjuntos de requisitos especificados en su manifiesto. Consulte Versiones y conjuntos de requisitos de Office.
Abrir en Office en la Web
Para crear el vínculo, use la siguiente plantilla de dirección URL como referencia.
https://go.microsoft.com/fwlink/?linkid={{linkId}}&templateid={{addInId}}&templatetitle={{addInName}}
Cambie los marcadores de posición en la dirección URL de la siguiente manera.
linkId: especifica qué punto de conexión web usar al abrir el nuevo documento.
- Para Word en la web:
2261098
- Para Excel en la Web:
2261819
- Para PowerPoint en la Web:
2261820
- Para Word en la web:
addInId: el identificador del complemento como se muestra en AppSource.
addInName: el título completo del complemento. Debe tener codificación URL.
Por ejemplo, a continuación se muestra un vínculo de instalación para Script Lab.
Los siguientes valores de parámetro se usan para el vínculo de instalación de Script Lab.
-
linkid: El valor
2261819
especifica el punto de conexión de Excel. Script Lab admite Word, Excel y PowerPoint, por lo que este valor se puede cambiar para admitir distintos puntos de conexión. -
templateid: El valor
WA104380862
es el identificador de Microsoft AppSource para Script Lab. -
templatetitle: El valor
Script%20Lab,%20a%20Microsoft%20Garage%20project
es el valor codificado por url del título.
Abrir en Office en Windows o Mac
Para crear el vínculo, use la siguiente plantilla de dirección URL como referencia.
{{appName}}:https://api.addins.store.office.com/addinstemplate/{{language}}/{{correlationID}}/{{addinId}}/none/{{addinName}}.{{fileFormat}}?omexsrctype=1
Cambie los marcadores de posición en la dirección URL de la siguiente manera.
appName: Este parámetro especifica qué aplicación de Office se abre cuando los usuarios hacen clic en el vínculo.
- Para Word:
ms-word
- Para Excel:
ms-excel
- Para PowerPoint:
ms-powerpoint
- Para Word:
Idioma: Este es el idioma del complemento. Por ejemplo:
de-DE
,ja-JP
ozh-CN
.correlationID: GUID con fines de diagnóstico. Por ejemplo, "7bf846ec-905a-5edd-b162-83498f9a8674". Use una herramienta de generación de GUID. El propósito de diagnóstico se elimina si varios usuarios tienen el mismo GUID, por lo que se recomienda generarlo en tiempo de ejecución y hacerlo diferente por clic.
addInId: Identificador del complemento como se muestra en AppSource. Este parámetro distingue mayúsculas de minúsculas. Use letras mayúsculas.
addInName: Nombre completo del complemento. Debe tener codificación URL.
fileFormat: Especifica el formato del archivo que se crea.
- Para Word:
docx
- Para Excel:
xlsx
- Para PowerPoint:
pptx
- Para Word:
Por ejemplo, el siguiente es un vínculo de instalación para Script Lab en Word en Windows con en-US como idioma.
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
Incluir el complemento en la instalación de una aplicación de Windows o un complemento COM/VSTO
Cuando tenga una aplicación de Windows o un complemento COM o VSTO cuyas funciones se superpongan con el complemento web de Office, considere la posibilidad de incluir el complemento web en la instalación (o una actualización) de la aplicación de Windows o del complemento COM/VSTO. (Esta opción de instalación solo se admite para complementos de Excel, PowerPoint y Word). El proceso para hacerlo depende de si es un desarrollador certificado de Microsoft 365. Para obtener más información, vea Microsoft 365 App Compliance Program (Programa de cumplimiento de aplicaciones de Microsoft 365) y Microsoft 365 App Compliance Program overview (Introducción al programa de cumplimiento de aplicaciones de Microsoft 365).
Estos son los pasos básicos que deben seguirse:
- Unirse al programa de certificación (recomendado)
- Actualizar el archivo ejecutable de instalación (obligatorio)
Unirse al programa de certificación (recomendado)
Se recomienda unirse al programa de certificación para desarrolladores. Entre otras cosas, esto permite que el programa de instalación se ejecute sin problemas. Para más información, consulte los siguientes artículos:
- Introducción al Centro de partners para aplicaciones de Microsoft 365, Teams, SaaS y SharePoint
- Programa de cumplimiento de aplicaciones de Microsoft 365
- Introducción al programa de cumplimiento de aplicaciones de Microsoft 365
- Introducción a la guía de pruebas de ejemplo de certificación de Microsoft 365
Actualizar el archivo ejecutable de instalación (obligatorio)
A continuación se indican los pasos para actualizar el archivo ejecutable de instalación.
- Compruebe que la versión de Office del usuario admite los complementos (recomendado)
- Comprobación de la deshabilitación de AppSource (recomendado)
- Creación de una clave del Registro para el complemento (obligatorio)
- Incluir términos de privacidad en los términos & condiciones (obligatorios para desarrolladores certificados)
Compruebe que la versión de Office del usuario admite complementos web (recomendado)
Se recomienda que la instalación compruebe si el usuario tiene instalada la aplicación de Office (Excel, PowerPoint o Word) y si la aplicación de Office es una compilación que admite la inclusión de un complemento web en una instalación de aplicación de Windows. Si es una versión anterior que no admite complementos web, el programa de instalación debe omitir todos los pasos restantes. Considere la posibilidad de mostrar un mensaje al usuario que recomienda instalar o actualizar a la versión más reciente de Microsoft 365 para que pueda aprovechar el complemento web. Tendrían que volver a ejecutar la instalación después de instalar o actualizar.
El código exacto necesario depende del marco de instalación y del lenguaje de programación que esté usando. A continuación se muestra un ejemplo de cómo comprobar el uso de 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;
}
}
}
}
Comprobación de la deshabilitación de AppSource (recomendado)
Se recomienda que la instalación compruebe si el almacén de AppSource está deshabilitado en la aplicación de Office del usuario. Los administradores de Microsoft 365 a veces deshabilitan el almacén. Si el almacén está deshabilitado, el programa de instalación debe omitir todos los pasos restantes. Considere la posibilidad de mostrar un mensaje al usuario que le recomienda que se ponga en contacto con su administrador sobre el complemento web. Tendrían que volver a ejecutar la instalación después de habilitar el almacén.
A continuación se muestra un ejemplo de cómo comprobar la deshabilitación del almacén.
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;
}
}
}
}
Creación de una clave del Registro para el complemento (obligatorio)
Incluya en el programa de instalación una función para agregar una entrada como la del ejemplo siguiente al Registro de Windows.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}]
"AssetIds"="{{assetId}}"
Reemplace los marcadores de posición como se indica a continuación:
{{OfficeApplication}}
con el nombre de la aplicación de Office en la que se debe instalar el complemento. SoloWord
se admiten ,Excel
yPowerPoint
.Nota:
Si el manifiesto del complemento está configurado para admitir más de una aplicación de Office, reemplace por
{{OfficeApplication}}
cualquiera de las aplicaciones admitidas. No cree entradas del Registro independientes para cada aplicación admitida. El complemento se instalará para todas las aplicaciones de Office que admite.{{add-inName}}
con el nombre del complemento; por ejemploContosoAdd-in
, .{{assetId}}
con el identificador de recurso de AppSource del complemento, comoWA999999999
.
A continuación se muestra un ejemplo.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in]
"AssetIds"="WA999999999"
El código exacto dependerá del marco de instalación y del lenguaje de programación. A continuación se muestra un ejemplo en 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);
}
}
}
}
}
Incluir términos de privacidad en los términos & condiciones (obligatorios para desarrolladores certificados)
Omita esta sección si no es miembro del programa de certificación, pero es necesario si lo es.
Incluya en el código del programa de instalación para agregar una entrada como la del ejemplo siguiente al Registro de Windows.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}]
"HasPrivacyLink"="1"
Reemplace los {{OfficeApplication}}
marcadores de posición y {{add-inName}}
exactamente como en la sección anterior. A continuación se muestra un ejemplo.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in]
"HasPrivacyLink"="1"
Para implementar esto, solo tiene que realizar dos pequeños cambios en el ejemplo de código de la sección anterior.
A la lista de
const
s en la parte superior delWriteRegistryKeys
método, agregue la línea siguiente:const string hasPrivacyLinkStr = "HasPrivacyLink"; // Indicates that your installer has a privacy link.
Justo debajo de la línea
AddInNameKey.SetValue(assetIdStr, assetID);
, agregue las líneas siguientes:// 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);
Experiencia de instalación del usuario
Cuando un usuario final ejecuta el ejecutable de instalación, su experiencia con la instalación del complemento web depende de dos factores.
- Si es un desarrollador certificado de Microsoft 365.
- La configuración de seguridad realizada por el administrador de Microsoft 365 del usuario.
Si está certificado y el administrador ha habilitado la aprobación automática para todas las aplicaciones de desarrolladores certificados, el complemento web se instala sin necesidad de que el usuario realice ninguna acción especial después de iniciar el ejecutable de instalación. Si no está certificado o el administrador no ha concedido la aprobación automática para todas las aplicaciones de desarrolladores certificados, se pedirá al usuario que apruebe la inclusión del complemento web como parte de la instalación general. Después de la instalación, el complemento web está disponible para el usuario en Office en la Web, así como para Office en Windows.
Si va a combinar la instalación de un complemento web con un complemento COM/VSTO, debe pensar en la relación entre los dos. Para obtener más información, vea Hacer que el complemento de Office sea compatible con un complemento COM existente.