Crash when attempting to install 32bit delphi service on 2008 r2

32bit-64bitdelphiwindows-server-2008-r2windows-service

I have an old 32bit delphi application (with no source code), that is used as a windows service. It runs fine on windows 2003 32bit.

I do not know if it has been created as a service originally, or converted to one later on. It is supposed to get installed to the server using a /install flag on the command line.

When attempting to install it on a Windows 2008 R2 virtual machine, I am getting an APPCRASH event in the event log.

The service is supposed to read a blob from a remote SQL Server instance and write it out to the local HD. It also reads some initialization data from the registry.

Is there any way I can install this application as a service on windows 2008 r2 64bit?

If not, are there any workarounds I can try?

What are your suggestions?

Best Answer

We've written quite a few of those Delphi 32-bits services ourselves, and the only thing that actually helps us "debug" the services running on servers (64-bit included) without the source code is Sysinternal's (now Microsoft Technet) Process Monitor.

In your specific case, I'd download Process Monitor (it's a simple executable) and run it and then set it up to filter only your service's .exe application. Look around for it's docs, but this is actually a very simple filter.

Keep Process Monitor running (filtered) on both machines while you start the service. Compare results from Process Monitor. I bet you have something like a missing registry key, or a missing directory or permission which causes the Delphi app to raise and Exception. This should be easy to spot on Process Monitor. Even more if you have a working machine to compare to.