COM Interop assembiles on 64 bit system.

Hello Experts,
I have created a COM Interop assembly in DOTNET. I have created the Assembly COM visible (COM Visible = true).
I have installed this assembly on XP machine and created it's object in classic asp page. It is working fine.
But when I installed the same assembly on x64 Server 2003 machine, I gets an error in response which says:
Microsoft VBScript runtime (0x800A01AD)
ActiveX component can't create object

I have installed the assemblies as follows:
1. >regasm /tlb "CryptoHelper.dll"
2. >regasm /tlb "QMx_Connection.dll" /registered "CryptoHelper.dll"
3. Draged and dropped both the libraries in C:\WINDOWS\assembly directory. (I do not have GACUTIL utility on x64 Server2003 machine)            

What could be a reason that I am getting error in response.
Thanks In Advance.
Pankaj

LVL 1
pankajghargeAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
pankajghargeConnect With a Mentor Author Commented:
hmm found the solution...
We have two regasm utilities on x64 system which are at following location
1. C:\WINDOWS\Microsoft.NET\Framework\vX.x.xxxxx>
2. C:\WINDOWS\Microsoft.NET\Framework64\vX.x.xxxxx>
---------------------------------------------------------------------------------------------
On x64 systems, to register the assemblies which are developed on 32 bit system, use the regasm utility under Framework64 directory. To register the assemblies which are developed on 64 bit system, use the regasm utility under Framework directory. In QMx case, assemblies are developed on 32 bit system

On x64 system I have installed assemblies as follows and it worked....
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727>regasm /tlb C:\QMx\CryptoHelper.dll
0
 
Amandeep Singh BhullarConnect With a Mentor Commented:
Is your COM 32 bit.

If so, then do consider the compatibility issue
http://support.microsoft.com/kb/896456
0
 
pankajghargeAuthor Commented:
Hi AmanBhullar,
Yes my COM is 32 bit. This is because I have created the COM Interop on 32 bit Windows XP platform.
I have selected Project->Properties->Build->Platform Target as: Any CPU while compliling the libraries in VS 2008. I guess if I select Any CPU option libraries should work on 32-bit & x64 environment as well.
Please suggest more.
0
All Courses

From novice to tech pro — start learning today.