Question 32-bit UserControl in HTML page does not load on 64-bit workstation

Thalheim

New member
Joined
Sep 21, 2011
Messages
2
Programming Experience
10+
Hello to all.
I need some light on a 64 bit situation. Let me explain.
I built a specialized userControl using VB2008 (on XP 32-bit) to embed in HTML (not ASP!) and compiled it, pointing to x86 CPUs.
I added the necessary keys to the registry (see attachment) to declare a classId in a HTML 'object' tag.
This scheme works OK on all 32-bit OS I could put my hands on, but fails to load on 64-bit: I could test only on XP and Win 2003. No error message and Fiddler does not even know something happened...
I installed VS2008 on the XP 64-bit machine and ported the code to a fresh userControl (to check the code). I got the userControl running on this workstation without any trouble.
I copied this new DLL on another workstation and added the necessary keys to the register, but to no avail. I checked the registry and the 'Wow64' keys are there allright.
As a check (and to provide you with a 'working' example), I:
- built a very simple userControl on the 32-bit environment (label, textbox and button to display the text in a mMessage box),
- on the 32-bit workstation:
+ copied the file to a 'program files' folder,
+ added the keys to the registry,
+ added this control to a HTML page,
+ declared the web site,
+ and was in business in no time.
- on the 32-bit workstation:
+ copied the file to a 'program files (x86)' folder,
+ added the keys to the registry,
+ and was stuck with a 'Failed to load 'TestUsercontrol'' message.

The primary question is:
WHY will the 64-bit installation fail?
The secondary question is:
Are the registry keys an issue?
In the attached zip, I provide the files and instructions to duplicate the issue.
Thank you for your time!
Albert
P.S. Moderator: Forgive me if I'm not in the right forum: I found this one to be appropriate.
 

Attachments

Last edited by a moderator:

Thalheim

New member
Joined
Sep 21, 2011
Messages
2
Programming Experience
10+
Hello,
I found the answer:
Of course, registry keys were the issue...
Solution: in the .reg file, replace:
[HKEY_CLASSES_ROOT\CLSID\
with:
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID...
I hope this will help someone out there: I lost four days on this 'detail'.

Albert
 
Top Bottom