Pergunta

Eu criei um add-in do Word componente, e um projeto de instalação do Visual Studio para instalar o componente.

Em uma máquina limpa com o Office 2003 instalado, ele não parece ser possível obter o add-in componente para carga no Word.

pesquisando o assunto sugere que isso acontece porque a montagem não é confiável. Eu dei a confiança montagem completa utilizando a ferramenta de linha de comando:

caspol -af AssemblyName.dll

Isso não faz diferença e o compenent ainda não está carregado no Word. Caspol imprime uma mensagem "Porque todos os conjuntos GAC sempre obter confiança total, a lista de confiança total não é mais significativa. Você deve instalar quaisquer conjuntos que são usados ??na segurança política no GAC para garantir que eles são confiáveis ??"

A alteração do instalador para colocar o assembly no GAC permite carregar corretamente no Word. Mas o componente pode ter que usar conjuntos comuns no futuro, compartilhada entre os nossos outros aplicativos .NET, e adicionar essas bibliotecas ao GAC seria indesejável.

Alguém sabe como definir a segurança para permitir que o componente a ser carregado quando instalado fora do GAC?

Foi útil?

Solução

Você pode executar manualmente o comando a seguir para a segurança conjunto para permitir que a palavra para executar a montagem de fora do GAC. Isso cria um novo grupo com plena confiança que é o que permite a montagem de prazo.

caspol.exe -u -addgroup All_Code -url "\*"  FullTrust -n AssemblyName.dll

Microsoft tem uma ação exemplo personalizado para um instalador no seguinte local link para MSDN , o que permitirá que você inclua este comando como uma ação personalizada instalador.

Outras dicas

Você definitivamente não tem que instalar seus assembies ao GAC, nem é necessário definir qualquer política de segurança no seu add-in de montagem.

Você está usando .NET 2.0 com Office 2003? Office 2003 e Office XP ambos têm um problema de carregamento .NET 2.0 suplementos. Eles são carregados usando a NET 1.1 quadro (se estiver presente na máquina, o que é muito provável). Portanto, é preciso corrigir a instalação do Office com o Shared Add-in suporte para a atualização para o Microsoft .NET quadro 2.0 (KB908002) .

Você definitivamente deve incluir este patch para os pré-requisitos do seu instalador.

Veja mais detalhes na resposta a esta pergunta .

E, claro, você deve ter a versão correta dos PIAs instalados no seu sistema de destino (quase esqueci este ponto, errado ou PIAs faltando é um dos principais problemas por que os suplementos não será carregado).

Atualizar : KB908002 requer VS 2005 no PC, a fim de adicionar o Shared Add-in suporte de atualização para os pré-requisitos de diálogo dos projetos de instalação. A seguinte solução deve ser utilizada neste caso:

Se você estiver usando o Visual Studio 2008, em seguida, você tem que seguir o solução alternativa mencionados abaixo para obter KB908002 listados sob add pré-requisitos diálogo:

  1. Faça o download e instalar a correção em uma máquina que tem Visual Studio 2005 instalado.
  2. Navegue para C:. \ Arquivos de Programas \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages , localize KB908002 pasta
  3. Inicie sessão para a máquina que tem Visual Studio 2008 instalado e copiar KB908002 pasta para C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages
  4. Agora, se você vai para a lista no Visual Studio 2008 máquina que você veria a correção listada pré-requisitos.

Outra opção, onde você não precisa VS 2005 em tudo seria:

  1. Faça download da correção para uma pasta temporária.
  2. Abra um prompt de comando, navegue até a pasta onde a correção está localizado e iniciar o seguinte comando para extrair os arquivos do arquivo de instalação auto-extraível:

    vs2005-kb908002-enu-x86.exe /C /T:C:\KB908002\
    cd \KB908002
    

    Agora, a pasta C: \ KB908002 irá conter três arquivos, vs2005-KB908002-enu-x86.exe / C / T: C: \ tmp \ KB908002 \ tmp, setup.exe e bootstrapper.msi

  3. Estamos interessados ??no conteúdo do bootstapper.msi, para que extrair o conteúdo deste arquivo:

    msiexec /a bootstrapper.msi /qb TARGETDIR=C:\KB908002\tmp\
    cd tmp
    
  4. Finalmente, copiar a pasta de pacotes que nós extraído para a pasta bootstrapper do SDK do Windows

    xcopy /E "C:\KB908002\tmp\SDK\BootStrapper\Packages" "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages"
    
  5. Agora, se você vai para a lista de pré-requisitos no Visual Studio 2008 você veria a correção listados.

Eu não acho que colocar o add-in de montagem no GAC é obrigatória. Acho que está faltando apenas um passo na sua implantação.

Os aplicativos de escritório como o MS Word carregar seus add-ins, lendo certas entradas de registro. Você está provavelmente não criar essas entradas durante a implantação.

Para saber os detalhes de todo este negócio de registo, consulte este artigo. Também para ler sobre a implantação do Office add-ins em geral, consulte este artigo

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