-2

I have a some dll and exe files. I registred these files and create desired instance. In one case the instance wasn't created. Any other dll and exe leads to the successful result, only this one was a problem. When I last time registred problematic files, instance wasn't create, but if problematic files was unregistred I try registred a files who gave me a succesfull result, but again, instance wasn't create. Code weren't change, same code doesn't create instance anymore and that seems strange to me because same code can create instance before registration problematic files. I try replace CoCreateInstance for CoGetClassObject whith same result. The error is Server execution failed.

I use Visual Studio 2010 and CLSCTX_LOCAL_SERVER flag.

My hypothesis is this strange behaviour is caused by 64bit enviroment and 32bit COM object. I try this workaround but result is the same Server execution failed. Any ideas?

EDIT: I searched for an interface IID which is use for COM object, but in the registry isn't this IID. Is this possible clue for this situation?

viceriel
  • 835
  • 12
  • 18
  • This problem is invariably debugged from the wrong end. The COM infrastructure started the EXE file you asked for but before it could obtain an object reference the process terminated. Invariable with some kind of crash, you only get the "it did not work" error code. Usually for a silly reason but you can't find out until you debug the server process. If it is not yours then ask for help from the programmer that wrote it, send him a small repro project that demonstrates the issue. – Hans Passant Aug 12 '16 at 07:21
  • Thank you for response! Is there any option go under cover **CoCreateInstance** and find out more about problem? – viceriel Aug 12 '16 at 07:34

1 Answers1

0

Problem solved. Reason was that something delete one .dll file and when I tried registration .exe, registration was unsuccessful because of missing dll.

viceriel
  • 835
  • 12
  • 18