Problema com o regsvr32 no Windows Server 2008

5

Estou tentando registrar uma dll COM básica em uma caixa padrão do Windows Server 2008.

Eu corro regsvr32 capicom.dll e ele reporta DllRegisterServer in capicom.dll succeeded . Este é o mesmo processo que usamos há anos no Windows Server 2003.

Infelizmente, quando tento criar o objeto por meio de um exemplo muito básico de vbscript da Microsoft Set oStore = CreateObject("CAPICOM.Store") , ele lança um erro "Componente ActiveX não pode criar objeto".

Pensando que talvez tenha sido um problema com essa dll, eu tentei algumas outras DLLs que usamos com o mesmo resultado. Eu tentei usar o regsvr32 no sistema, system32 e syswow64 todos com o mesmo resultado. Eu não sei muito sobre as diferenças entre cada um deles, mas achei que valeria a pena.

A dll está sendo armazenada no d: \ e parece ter permissões corretas (apesar de que seria um erro completamente diferente).

* ATUALIZAÇÃO: Por meio de testes adicionais, determinamos (via walker de dependência) que ieshims.dll e linkinfo.dll estão faltando. Eles estão na máquina, mas relataram como não conseguiram encontrar. Isso é válido tanto para capicom.dll quanto para uma DLL desenvolvida internamente.

Obrigado a qualquer ajuda ou pensamentos que você possa ter!

    
por Chris Anton 10.05.2010 / 21:13

6 respostas

2

Parece que o wscript estava sendo executado no modo de 64 bits e não pôde ver as inscrições ... seguindo as instruções no link Eu consegui executar os createobjects no modo de 32 bits (via asp clássico) e os componentes funcionaram como deveriam. Obrigado pela ajuda a todos!

    
por 11.05.2010 / 17:12
1

Você pode tentar abrir sua DLL com o Dependency Walker . Se você tem alguma DLLs desaparecidas que capicom.dll depende, Dependency Walker irá ajudá-lo a encontrá-los.

    
por 11.05.2010 / 00:54
1

Em um sistema operacional Windows de 64 bits, há duas versões do arquivo Regsv32.exe:

The 64 bits is %systemroot%\System32\regsvr32.exe.
The 32 bits is %systemroot%\SysWoW64\regsvr32.exe. 

Tente copiar qualquer um desses dois executáveis, junto com o arquivo OCX ou DLL para registrar. Execute no modo de administrador ou altere as propriedades do executável na guia de compatibilidade para "executar este programa como administrador". Registre o ActiveX (ocx) ou DLL ou execute RegSvr32.exe nombre_dll nombre_activeX RegSvr32.exe.

    
por 14.07.2011 / 03:21
0

Certifique-se de executar o regsvr32 em um prompt de comando como administrador. Além disso, tente colocar a DLL no diretório system32 ao executar o executável lá.

    
por 10.05.2010 / 21:36
0

Clique com o botão direito do mouse no ícone do prompt de comando e selecione "Executar como administrador" e tente registrar sua DLL. Lembre-se de que você tem permissões de administrador no Windows.

Capa

    
por 27.05.2010 / 20:01
0

Aqui está o que eu tive que fazer:

  1. Instalar o Capicom SDK

  2. Copie capicom.dll para a pasta% SYSTEMROOT% \ syswow64

  3. Registre a DLL

%systemroot%\syswow64\regsvr32.exe "%systemroot%\system32\capicom.dll"

  1. Execute o script camonitor.vbs

%systemroot%\syswow64\wscript camonitor.vbs /cacrlok /smtp /smtpserver:your_server /smptto:your_email

    
por 29.09.2014 / 21:03