Click here to Skip to main content
15,878,809 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
This one’s a little long winded so please bear with me. If I get any of the terminology wrong please put me straight, it might just help toward the solution.

I have a windows service written in Delphi, which utilises a dll, also written in Delphi. This dll uses a .net dll to handle comms.

All of these pre-date my time at the company, and no source is available for any of it.
The .net dll contains a url to a web service, which needs to change. I’ve decompiled the .net dll, changed the url and recompiled, but swapping out the old file for this new one results in the error ‘OLE error 80131040’. I’ve spent a lot of time googling/researching this error but since I don’t have the source for the Delphi part, the answers I found were of no use.

Things I know:

• To prove the decompile/recompile process, I took the original, dll and used that as a test. Once recompiled it functioned perfectly.

• The only thing changed in the ‘modified’ dll is the URL of the web service.

• I ran Process Monitor against the service whilst using it, and identified several references in the registry (CLSID).

• I have generated a registry ‘merge’ file using Regasm, and applied this. All old references were replaced as far as I can see, but now my error has changed to ‘Class not registered’.

• Re-running the process monitor with these changes showed the service is STILL trying to get the original registry entry.

• I have scoured the registry for this entry (673DED65-BE57-36AF-AE8F-5BD418F1596E) and found nothing. I also let Agent Ransack loose doing a content search, which produced no results after 6 hours of searching.

• I know from archived versions of the dlls that these have been swapped out multiple times without the actual service ever being altered; therefore I can’t see how the registry key can be coded in to that program.

So the question is, how is the service STILL getting a registry key that doesn't exist and isn't detailed anywhere as far as I can see? Have I missed a vital step somewhere?

Any help would be brilliant, I've been at this for days now!
Thanks for reading
Posted
Comments
Sergey Alexandrovich Kryukov 18-Feb-14 18:21pm    
Without some code sample, it's does not seem informative enough. First question I have is: Are you using Delphi targeting .NET 2.0? (What is the Delphi version, by the way?) If not, how did you use a .NET dll in your Delphi dll?
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900