Não é possível registrar a DLL no servidor 2012

1

Temos um antigo site ASP clássico que estou tentando hospedar em uma nova caixa Server 2012. Ele usa uma DLL desenvolvida internamente no VB6.

Eu copiei o arquivo do instalador e o erro acabou. Eu tento registrar a DLL manualmente usando "regsvr32 pathToDll \ theDll.dll" e ele volta com erro 0x80004005. O Google sugere que eu deveria executar o comando a partir de um prompt de comando elevado. Então eu faço e recebo o mesmo erro. Eu também tentei executar o mesmo comando do diretório SYSWOW64 e recebo o mesmo erro.

Por meio do Google, também acho que pode ser por falta de dependências. Eu usei Dependency Walker e com certeza estava faltando algumas coisas. Então eu descobri que tinha que instalar os arquivos de tempo de execução do VB6 e permitir que alguns recursos e todas as dependências fossem resolvidos. Então eu tentei registrar novamente a DLL e ainda dá o mesmo erro.

Alguma ideia? Eu sei que é uma dll de 32 bits em uma máquina de 64 bits, mas deve pelo menos registrar.

    
por Clint Davis 16.08.2013 / 16:08

1 resposta

1

Ok, depois de mais pesquisas, descobri através do Dependency Walker que a dll está fazendo referência à API-MS-WIN-CORE-SYNCH-L1-1-0.DLL através da cadeia de outras DLLs.

Com base nessas informações da Microsoft , não parece que isso é compatível como é. Parece que eu teria que recompilar a DLL para fazer esse trabalho mudar as referências.

Solução: vou criar uma VM para esse aplicativo legado.

    
por 26.08.2013 / 21:04