COM Interop hell

  • Thread starter Thread starter Tamir Khason
  • Start date Start date
T

Tamir Khason

I have COM. I make it interoped with strong key.
Works fine so far in dev enviroment, BUT once transfer to production the
application using this interop wont start.
original COM in directory with interoped COM, but the registeration of COM
made from system32 folder (this should be this way)
Once more: THE EXACTLY SAME configuration (except VS) in prod enviroment.
In OLEViewer the only difference between dev and prod enviroment (from COM
point of view) is this STRANGE string in CLSID area (what the hell is it)
InprocServer32[InprocServer32]=Z_)(!QE........Y%Global_System_OLEAUT32>....

So
1) What is this string?
2) How to make it work? BTW once registered COM from the same directory with
Interopped everythink OK (application working) - But wrong 'cos this COM
should be registered from system32 (dependencies issue). Transferring
Interop to system32 folder do not solve the problem..

PLEASE HELP
 
Hi Tamir,

Do you mean, you wants to expose the .net assembly as a com object for a
com client to use?
After you copy the app into another machine, that did not work?

I think if you need to copy the application to another machine, we do need
to register the assembly again, so that the COM client will aware of that
from the registry.
Aslo if you wants to move the assembly's relative path, we do need to use
the Regasm tool with /codebase switch so that the registry will have the
fullpath to the assembly's path.

You may take a look at the regasm tool.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/htm
l/cpgrfassemblyregistrationtoolregasmexe.asp

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
no, I have assembly wich is interopped com
the com from wich the assembly created is in system32 folder and not in the
same place with the interrop presssed
 
Hi,

So, can you describe the problem more detailed?
do you mean you use the tlbimp to generate a interop assembly from com
object, but when you copy the interop assembly and the app into another
machine, the app does not work?

If so, I think you may try to use the regmon and filemon tool to see if
there is anything not found or access deny error.
http://www.sysinternals.com/ntw2k/source/filemon.shtml
http://www.sysinternals.com/ntw2k/source/regmon.shtml

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Back
Top