cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

32 Bit Component vs 64 Bit Component Registration

Hi all,

First off, let me start by saying that my installation is 32 bit with no components marked specifically as 64 bit components. InstallShield is running on a 64 bit build system.

I have two components, CompA.dll and CompA_x64.dll that will be installed via two different Features conditioned accordingly based on the target Architecture. So on a 32 bit machine, CompA.dll will be installed and CompA_x64.dll will be placed on a 64 bit OS.

My wonder is how to mark these as to register. For my other 32 bit components that need registering I have .NET COM Interop = Yes and .NET Scan at Build = Properties Only. So, here I think I am OK using this method to mark the components in the NOT VersionNT64 conditioned component.

My questions come in with the 64 bit components. Since they are not specificallly marked as 64-Bit Component = Yes, I don't believe I can simply mark the 64 bit .dll as above can I? My thinking here is that I may have to devise a Custom Action to run the 64 bit RegAsm against any .dll's that fall into this category or 64 bit Feature. Does that sound about right? Or is there a way to have them registered properly even though they are not marked as 64 bit components?

My guess would be that I could statically include the registration information for the 64 bit components by possibly importing into the particular component's registry view. I would prefer not to do this if its even possible.

Marking the 64 bit .dlls as 64 bit components would cause the entire installation to become 64 bit, which won't run on a 32 bit system, correct?

Any help on this is greatly appreciated! Let me know if any more info is needed to help!

Thanks!
Labels (1)
0 Kudos
(2) Replies
Dennis_Marks
Level 4

I opened up a Installshield Work Order on this. Seem like the solution they provided was build two separate MSI one for each platform. Then condition in a installer MSI to install to the proper platfom MSI.

This will not work for us. What I am looking to do is one of the following.

1. During build time. create a regfile with regasm, modify this file for x64 and the component it is associated with. then have it imported into the package to a X64 component.

2. Custom Action during install and uninstall for regasm.

Not sure if this helps you but this should assist and hopefully we can find a way to achieve the results we need.
0 Kudos
Dennis_Marks
Level 4

Uploaded a project where I got it to work.
0 Kudos