Pergunta

Eu criei um suplemento do Outlook 2003, 2007 e 2010.O suplemento funciona bem em 2007 e 2010, mas não está carregando corretamente, em 2003, em quaisquer máquinas, outros do que a minha própria dev máquina.Não há problemas com o código, como não há erros mostrados na carga de comportamento, e ele não é um item desabilitado.O suplemento também não é mostrado na lista de Suplementos.Este suplemento tem trabalhado em 2003 anteriormente.

Aqui é a parte estranha.Eu tenho uma cópia do add-in a partir de um ponto anterior no tempo, de modo a não conter alguns dos recursos da versão completa.Este suplemento é carregado corretamente em 2003.Assim, como parte do meu teste, em uma VM, eu instalei a versão anterior (vou chamá-lo de teste) e a versão atual, que não funciona (vou chamá-lo de completo).No registro em HKCU > Software > Aulas > CLSID > [[guid]] > InprocServer32, para o teste a versão que eu mudei o "Manifesto Local' e 'Manifesto' Nome de chaves a ser os valores de a completo versão.Eu, em seguida, executou o Outlook, e a versão completa correu perfeitamente.

Eu não posso ver como a completo add-in não funciona em sua própria configurações do registro, mas funciona bem em teste's, e apenas no Outlook 2003.

Aqui está as informações básicas:

Meu dev configuração é:

  • Windows 7 64-bit
  • O Outlook 2003 instalado
  • Executando o VS2008 para o projeto Add-in, mas também a utilização de VS2010 para um assembly satélite.
  • Definir o projeto de Segurança está incluído, alterado para permitir que vários conjuntos de ter CASPol conjunto.

Os seguintes pré-reqs estão incluídos no projeto de instalação:

  • .Net 2.0
  • .Net 3.5SP1
  • PIA do Office 2003 (também de 2007 e 2010 PIAs para 2007 e 2010 respectivamente)
  • VSTOSE tempo de execução
  • O Windows Installer 3.1

Quaisquer sugestões serão muito apreciados, como eu já gasta cerca de 4 dias sobre esta questão!

TIA.


Atualização 1:

Como por @JoaoAngelo comentários eu verifiquei as configurações do registro, e eles são como se segue:

HKCU > Software > Aulas > CLSID > {suplemento CLSID} > InprocServer32

 - (default) - '%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll'
 - ManifestLocation - path to the containing folder
 - ManifestName - the .dll.manifest file name
 - ThreadingModel - 'Both'

HKCU > Software > Microsoft > Office > Outlook > Suplementos > MyAddin

 - (default) - not set
 - CommandLineSafe - '1'
 - Description - a string
 - FriendlyName - add-in ID
 - LoadBehavior - '3' (this never gets set to 2, which would indicate an issue)
 - Manifest - path to the .dll.manifest of the add-in assembly
 - Path - path to the containing folder

Eu também adicionei o seguinte no último, conforme o Página de implantação, mas não adiantou:

 - ManifestLocation 
 - ManifestName

Atualização 2:

Como por 0xA3 comentários;Em HKCR > MyAddin eu tenho uma chave CLSID com um único valor de seqüência de caracteres:

(default) - {add-in CLSID}

O CLSID é o mesmo visto em HKCU > Software > Aulas > CLSID e ao longo de todo o registro.

Foi útil?

Solução

Finalmente consegui encontrar o problema, era relacionado ao registro.

Eu planejei originalmente ter suplementos separados para cada versão do Outlook e, como tal, meus namespaces e convenções de nomenclatura, etc, eram:

  • [Company] .AddIns.Outlook2003
  • [Company] .AddIns.Outlook2007
  • [Company] .AddIns.Outlook2010

No entanto, consegui criar o add-in para atingir todos os 3, então renomeei [Company] .AddIns.Outlook2003 para [Company] .AddIns.Client.

Eu alterei as configurações de registro para HKCU> Software> Microsoft> Office> Outlook> Suplementos> MyAddin, para fazer referência à alteração descrita, mas por algum motivo não o atualizei em HKCU> Software> Classes.

Assim que alterei as últimas configurações no VS, funcionou!

Para referência, as alterações foram feitas no VS no Projeto de configuração, em Exibir> Registro.

Um pouco irritante que esse problema não tenha aparecido em 2007/2010, pois pode ter sido mais fácil de rastrear.

Outras dicas

Se você já não tenha feito isso, você deve definir as seguintes variáveis de ambiente para ajudar na resolução do suplemento de problemas de carregamento:

  • VSTO_LOGALERTS=1
  • VSTO_SUPPRESSDISPLAYALERTS=0

A primeira vai resultar em um *.arquivo de log a ser criado no diretório que contém o suplemento de assembléias e o segundo irá permitir erros de pop-ups para ser apresentado quando iniciar o aplicativo de destino, neste caso o Outlook.

Você também dizer, que no seu dev caixa com o Office 2003, o suplemento funciona corretamente.Desde o Visual Studio automaticamente registra o suplemento dev caixa quando você executar uma compilação, você deve se certificar de que você está criando todas as chaves de registro necessárias na configuração.Você pode verificar o Entradas De Registo Necessárias seção no seguinte artigo da MSDN para verificar se você tem as chaves corretas, a ser criado na instalação:

A implantação em Nível de Aplicativo Add-ins

Eu recomendo seguir as etapas de solução de problemas descritas aqui:

Hamed Ahmadi: Meu suplemento do Office não carrega!

Tem certeza de que o addin não foi desativado pelo Outlook por algum motivo?Se você instalou no nível da máquina (em oposição ao nível do usuário), ele não aparecerá na lista do suplemento Com em nenhum caso.Talvez tente instalá-lo como um suplemento por usuário (para que apareça na lista) e continuar a partir daí?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top