Crash ao tentar instalar o serviço delphi de 32 bits em 2008 r2

1

Eu tenho um antigo aplicativo delphi de 32 bits (sem código fonte), que é usado como um serviço do windows. Funciona bem no Windows 2003 32bit.

Não sei se foi criado originalmente como um serviço ou se foi convertido para um serviço posterior. Ele deve ser instalado no servidor usando um sinalizador /install na linha de comando.

Ao tentar instalá-lo em uma máquina virtual do Windows 2008 R2, estou recebendo um evento APPCRASH no log de eventos.

O serviço deve ler um blob de uma instância remota do SQL Server e gravá-lo no HD local. Ele também lê alguns dados de inicialização do registro.

Existe alguma maneira de instalar este aplicativo como um serviço no windows 2008 r2 64bit?

Se não, há alguma solução alternativa que eu possa tentar?

Quais são as suas sugestões?

    
por Oded 30.03.2010 / 16:37

7 respostas

0

Decidimos continuar rodando em um sistema operacional de 32 bits e reescrever este aplicativo no .NET ...

    
por 12.04.2010 / 09:27
1

Eu tive o mesmo problema, mas a dica de Ricardo Pardini com o Process Monitor foi a solução, descobri que o serviço (mesmo no momento de apenas instalá-lo) estava procurando por uma DLL dbExpress que não estava no diretório do aplicativo nem no caminho de pesquisa. Copiando as DLLs na mesma pasta resolveu o problema.

    
por 15.09.2010 / 11:09
0

Sem acesso ao aplicativo ou a qualquer traço por que ele pode falhar, só posso oferecer algumas ideias gerais sobre o que pode ajudar.

Se for apenas um POS (Plain Old Service;)), você pode seguir as instruções aqui link para instalá-lo manualmente como um serviço. Dessa forma, você contornará uma rotina de instalação com falha se o próprio aplicativo funcionar.

Você também pode tentar executá-lo usando o modo de compatibilidade. Aplicações antigas do Delphi podem se beneficiar muito disso.

    
por 05.04.2010 / 14:08
0

também ms tem várias atualizações de compatibilidade de aplicativos para r2, portanto, se você não acessou o windows update e o download.

você também pode executar o aplicativo diretamente sem o parâmetro / install?

    
por 05.04.2010 / 16:27
0

Provavelmente está tentando ler algo da versão de 64 bits do Windows, em vez da versão de 32 bits do Windows. Certifique-se de ter o cliente do servidor sql de 32 bits instalado e funcionando corretamente. Diferente do que postar o appcrash que deve lhe dizer qual DLL colocar no wow32.

    
por 05.04.2010 / 16:38
0

Escrevemos alguns desses serviços Delphi de 32 bits, e a única coisa que realmente nos ajuda a "depurar" os serviços em execução nos servidores (64 bits incluídos) sem o código-fonte é Monitor de processo da Microsoft (agora Microsoft Technet) .

No seu caso específico, eu baixaria o Process Monitor (é um executável simples) e o executaria e o configuraria para filtrar apenas o aplicativo .exe do seu serviço. Procure os documentos, mas na verdade é um filtro muito simples.

Mantenha o Monitor de processo em execução (filtrado) em ambas as máquinas enquanto você inicia o serviço. Compare os resultados do Process Monitor. Aposto que você tem algo como uma chave de registro ausente ou um diretório ou uma permissão ausente que faz com que o aplicativo Delphi aumente e a exceção. Isso deve ser fácil de detectar no Process Monitor. Ainda mais se você tiver uma máquina de trabalho para comparar.

    
por 09.04.2010 / 00:51
0

Você não mencionou nada sobre o UAC. Desativar completamente o UAC e tente novamente.

    
por 10.05.2011 / 16:51