Usuário com melhor resposta
Microsoft.Office.Interop.Word

Pergunta
-
Pessoal, boa tarde!!
Estou utilizando a DLL Microsoft.Office.Interop.Word para copiar e editar arquivos no Microsoft Word. Na minha máquina rodando pelo visual studio funciona normalmente, mas não no servidor publicado no IIS.
Verifiquei que o problema está com a edição, porque o arquivo é copiado para pasta. O erro que aconteceu inicialmente foi :
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005. ExceptionType":"System.UnauthorizedAccessException
O erro acima parou após mexer em permissões do componentes de serviço na aba de segurança COM, e passou a mostrar um novo erro:
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005. ExceptionType":"System.Runtime.InteropServices.COMException
Alguém tem ideia o que acontece?
Aceito sugestões para uma solução alternativa para copiar e editar arquivo Word. Não sei se estou usando a melhor solução.
Obrigado.
Respostas
-
William, eu resolvi fazendo isso:
- In the command line put DCOMCNFG
- Component Services -> Computers -> My Computer -> DCOM Config
- Find "Microsoft Word 97 - 2003 Document" (If it is missing check if your Word is also 64 bit (if your Windows is))
- Right click -> Properties
- Go To Tab Security and Edit the "Customize" radio buttons so that IIS_IUSRS could have rights for launch and access
- Go to Tab Identity and choose "The interactive user"
- Apply changes and try again
Não tenho conhecimento avançados em windows para avaliar se essa alteração vai me gerar problemas. Sabe alguma coisa?
- Marcado como Resposta Marcos SJ terça-feira, 29 de setembro de 2015 18:03
Todas as Respostas
-
O problema é que voce nao deve ter instalado o word no servidor IIS.
O codigo que voce executa é no lado do servidor. Quando voce roda no visual studio, cliente e servidor estao na mesma maquina e voce deve ter instalado o Word. Quando voce executa no IIS nao existe word e voce obtem o erro.
Que tipo de ediçao voce esta tentando fazer? Eu nao uma saida facil para isso, pois voce deveria executar isso no lado do cliente o que nao é trivial. Motvo: segurança.
Word é um aplicatvo windows.. se uma pagina asp.net tem controle sobre um aplicatvo local, imagine o possivel estrago... voce poderia simplesmente abrir o CMD e executar um "format" e apagar todo o conteudo. Por isso paginas nao executam codigos locais (a maioria dos browser vao te impedir isso)
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Editado William John Adam TrindadeModerator segunda-feira, 28 de setembro de 2015 16:58
-
William, boa tarde !!
Obrigado por responder.
Eu instalei o office quando estava com um outro erro. Funcionou para o erro, mas ai veio esses que compartilhei aqui.
Sobre essa questão de segurança, eu li isso em outros fóruns, não recomendado instalar o word no lado servidor, mas como não consegui achar uma solução alternativa estava tentado resolver esses erros.
Sobre a edição que estou fazendo no arquivo word, eu tenho arquivos com diferentes layouts, onde tenho strings entre "{{}}" que substituo por valores específicos de um processo selecionado. Por isso eu copio o arquivo original e faço a edição na copia.
Tem algum exemplo de como eu posso fazer para executar essa edição no lado cliente?
Obrigado novamente pela atenção.
-
William, eu resolvi fazendo isso:
- In the command line put DCOMCNFG
- Component Services -> Computers -> My Computer -> DCOM Config
- Find "Microsoft Word 97 - 2003 Document" (If it is missing check if your Word is also 64 bit (if your Windows is))
- Right click -> Properties
- Go To Tab Security and Edit the "Customize" radio buttons so that IIS_IUSRS could have rights for launch and access
- Go to Tab Identity and choose "The interactive user"
- Apply changes and try again
Não tenho conhecimento avançados em windows para avaliar se essa alteração vai me gerar problemas. Sabe alguma coisa?
- Marcado como Resposta Marcos SJ terça-feira, 29 de setembro de 2015 18:03