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.