Publicar o seu Suplemento do Office no Microsoft AppSource
Publique o seu Suplemento do Office no Microsoft AppSource para o tornar amplamente disponível para clientes e empresas. O Microsoft AppSource é uma loja online que contém milhares de aplicações e serviços empresariais criados por fornecedores de software líderes do setor. Quando publica o seu suplemento no Microsoft AppSource, também o disponibiliza na experiência no produto no Office.
O processo de publicação
Antes de continuar:
- Ter uma conta do Centro de Parceiros.
- Certifique-se de que o suplemento cumpre as políticas de validação do AppSource aplicáveis.
- Confirme que está pronto para publicar.
Quando estiver pronto para incluir a sua solução no Microsoft AppSource e no Office, submeta-a no Centro de Parceiros. Em seguida, passa por um processo de aprovação e certificação. Para obter detalhes completos, consulte Disponibilizar as suas soluções no Microsoft AppSource e no Office.
Quando o suplemento estiver disponível no AppSource, existem mais dois passos que pode efetuar para o tornar mais amplamente instalado.
- Fornecer uma ligação de instalação
- Incluir o suplemento na instalação de uma aplicação do Windows ou um suplemento COM ou VSTO
Fornecer uma ligação de instalação
Depois de publicar no Microsoft AppSource, pode criar uma ligação de instalação para ajudar os clientes a descobrir e instalar o seu suplemento. A ligação de instalação proporciona uma experiência de "clique e execução". Coloque a ligação no seu site, nas redes sociais ou em qualquer lugar que pense que ajuda os seus clientes a descobrir o seu suplemento.
A ligação abre um novo documento Word, Excel ou PowerPoint no browser para o utilizador com sessão iniciada. O seu suplemento é carregado automaticamente no novo documento para que possa orientar os utilizadores para experimentarem o seu suplemento sem precisarem de o procurar no Microsoft AppSource e instalá-lo manualmente.
Para criar a ligação, utilize o seguinte modelo de URL como referência.
https://go.microsoft.com/fwlink/?linkid={{linkId}}&templateid={{addInId}}&templatetitle={{addInName}}
Altere os três parâmetros no URL anterior para suportar o suplemento da seguinte forma.
linkId: especifica o ponto final Web a utilizar ao abrir o novo documento.
- Para Word na Web:
2261098
- Para Excel na Web:
2261819
- Para PowerPoint na Web:
2261820
Nota: O Outlook não é suportado neste momento.
- Para Word na Web:
templateid: o ID do suplemento, conforme listado no Microsoft AppSource.
templatetitle: o título completo do seu suplemento. Tem de ser codificado por HTML.
Por exemplo, se quiser fornecer uma ligação de instalação para Script Lab, utilize a seguinte ligação.
Os seguintes valores de parâmetros são utilizados para a ligação de instalação Script Lab.
-
linkid: O valor
2261819
especifica o ponto final do Excel. Script Lab suporta Word, Excel e PowerPoint, pelo que este valor pode ser alterado para suportar diferentes pontos finais. -
templateid: O valor
WA104380862
é o ID do Microsoft AppSource para Script Lab. -
templatetitle: O valor
Script%20Lab,%20a%20Microsoft%20Garage%20project
que é o valor codificado por HTML do título.
Incluir o suplemento na instalação de uma aplicação windows ou suplemento COM/VSTO
Quando tiver uma aplicação do Windows ou um suplemento COM ou VSTO cujas funções se sobrepõem ao seu Suplemento Web do Office, considere incluir o suplemento Web na instalação (ou uma atualização) da aplicação Windows ou suplemento COM/VSTO. (Esta opção de instalação é suportada apenas para suplementos do Excel, PowerPoint e Word.) O processo para o fazer depende se é um programador certificado do Microsoft 365. Para obter mais informações, veja Microsoft 365 App Compliance Program (Programa de Conformidade de Aplicações do Microsoft 365) e Microsoft 365 App Compliance Program overview (Descrição geral do Programa de Conformidade de Aplicações do Microsoft 365).
Seguem-se os passos básicos:
Aderir ao programa de certificação (recomendado)
Recomendamos que adira ao programa de certificação de programadores. Entre outras coisas, isto permitirá que o programa de instalação seja executado de forma mais suave. Para saber mais, confira os seguintes artigos:
- Introdução ao Centro de Parceiros para aplicações Microsoft 365, Teams, SaaS e SharePoint
- Programa de Conformidade do Aplicativo do Microsoft 365
- Descrição geral do Programa de Conformidade de Aplicações do Microsoft 365
- Microsoft 365 Certification sample evidence guide overview (Descrição geral do guia de provas de exemplo de certificação do Microsoft 365)
Atualizar o executável de instalação (obrigatório)
Seguem-se os passos para atualizar o executável de instalação.
- Verifique se a versão do Office do utilizador suporta os suplementos (recomendado)
- Verificar a desativação do AppSource (recomendado)
- Criar uma chave de registo para o suplemento (obrigatório)
- Inclua termos de privacidade nos seus termos & condições (necessárias para programadores certificados)
Verifique se a versão do Office do utilizador suporta suplementos Web (recomendado)
Recomendamos que a sua instalação marcar se o utilizador tem a aplicação do Office (Excel, PowerPoint ou Word) instalada e se a aplicação do Office é uma compilação que suporta a inclusão de um suplemento Web numa instalação de aplicação Windows. Se for uma versão antiga que não suporta suplementos Web, o programa de instalação deve ignorar todos os passos restantes. Considere apresentar uma mensagem ao utilizador que recomenda que instale ou atualize para a versão mais recente do Microsoft 365 para que possa tirar partido do seu suplemento Web. Teriam de executar novamente a instalação após a instalação ou atualização.
O código exato necessário depende da arquitetura de instalação e da linguagem de programação que está a utilizar. Segue-se um exemplo de como marcar com 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;
}
}
}
}
Verificar a desativação do AppSource (recomendado)
Recomendamos que a sua instalação marcar se a loja AppSource está desativada na aplicação do Office do utilizador. Por vezes, os Administradores do Microsoft 365 desativam a loja. Se o arquivo estiver desativado, o programa de instalação deverá ignorar todos os passos restantes. Considere apresentar uma mensagem ao utilizador que recomenda que contacte o administrador sobre o suplemento Web. Teriam de executar novamente a instalação depois de o arquivo estar ativado.
Segue-se um exemplo de como marcar para desativar o arquivo.
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;
}
}
}
}
Criar uma chave de registo para o suplemento (obrigatório)
Inclua no programa de instalação uma função para adicionar uma entrada como o seguinte exemplo ao Registo do Windows.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}]
"AssetIds"="{{assetId}}"
Substitua os marcadores de posição da seguinte forma:
{{OfficeApplication}}
com o nome da aplicação do Office na qual o suplemento deve ser instalado. ApenasWord
,Excel
ePowerPoint
são suportados.Observação
Se o manifesto do suplemento estiver configurado para suportar mais do que uma aplicação do Office, substitua por
{{OfficeApplication}}
qualquer uma das aplicações suportadas. Não crie entradas de registo separadas para cada aplicação suportada. O suplemento será instalado para todas as aplicações do Office que suporta.{{add-inName}}
com o nome do suplemento; por exemploContosoAdd-in
, .{{assetId}}
com o ID do recurso do AppSource do seu suplemento, comoWA999999999
.
Apresentamos um exemplo a seguir.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in]
"AssetIds"="WA999999999"
O código exato dependerá da arquitetura de instalação e da linguagem de programação. Segue-se um exemplo em 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);
}
}
}
}
}
Inclua termos de privacidade nos seus termos & condições (necessárias para programadores certificados)
Ignore esta secção se não for membro do programa de certificação, mas será necessário se for.
Inclua no código do programa de instalação para adicionar uma entrada como o seguinte exemplo ao Registo do Windows.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\{{OfficeApplication}}\{{add-inName}}]
"HasPrivacyLink"="1"
Substitua os {{OfficeApplication}}
marcadores de posição e {{add-inName}}
exatamente como na secção anterior. Apresentamos um exemplo a seguir.
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Wef\AutoInstallAddins\Word\ContosoAdd-in]
"HasPrivacyLink"="1"
Para implementar isto, basta fazer duas pequenas alterações no exemplo de código na secção anterior.
À lista de
const
s na parte superior doWriteRegistryKeys
método, adicione a seguinte linha:const string hasPrivacyLinkStr = "HasPrivacyLink"; // Indicates that your installer has a privacy link.
Imediatamente abaixo da linha
AddInNameKey.SetValue(assetIdStr, assetID);
, adicione as seguintes linhas:// 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);
A experiência de instalação do utilizador
Quando um utilizador final executa o executável de instalação, a sua experiência com a instalação do suplemento Web dependerá de dois fatores.
- Quer seja um programador certificado do Microsoft 365.
- As definições de segurança efetuadas pelo administrador do Microsoft 365 do utilizador.
Se tiver certificação e o administrador tiver ativado a aprovação automática para todas as aplicações de programadores certificados, o suplemento Web é instalado sem a necessidade de qualquer ação especial por parte do utilizador após o início do executável de instalação. Se não tiver certificação ou o administrador não tiver concedido a aprovação automática para todas as aplicações de programadores certificados, ser-lhe-á pedido que aprove a inclusão do suplemento Web como parte da instalação geral. Após a instalação, o suplemento Web está disponível para o utilizador no Office na Web, bem como para o Office no Windows.
Se estiver a combinar a instalação de um suplemento Web com um suplemento COM/VSTO, tem de pensar na relação entre os dois. Para obter mais informações, consulte Tornar o seu Suplemento do Office compatível com um suplemento COM existente.