This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Same boat here
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 17, 2011
11:24 AM
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!
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!
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 10, 2012
05:58 AM
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.
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.