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
- :
- Re: 64- and 32-bit versions of the same product
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
‎Jul 18, 2017
04:08 PM
64- and 32-bit versions of the same product
We plan to release new version of our product build in 32- and 64-bit.
What is recommended way for InstallerShield, have two separate installers or combine both versions into one package and prompt for bitness during installation?
Should Product/Upgrade/Package Codes be the same for both 32- and 64-bit versions?
Please advise.
Thank you,
Yuri
What is recommended way for InstallerShield, have two separate installers or combine both versions into one package and prompt for bitness during installation?
Should Product/Upgrade/Package Codes be the same for both 32- and 64-bit versions?
Please advise.
Thank you,
Yuri
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 18, 2017
04:36 PM
A single MSI is generally defined and compiled as either x86 or x64. Here are some reasons
1. A 32-bit MSI does not have access to the 64-bit portions of the registry and file system. This makes deploying true 64-bit components impossible since everything is redirected by the Windows OS to the Wow6432Node in the registry and to the C:\Windows\SysWOW64 folder. The GAC, too, if you use that area.
2. A 64-bit MSI cannot be run on 32-bit systems. It will always throw an error.
There are workarounds that people have come up with including, but not limited to
1. A bootstrapper to select bitness which launches either the 32-bit or 64-bit MSI as appropriate
2. An MST transform to overlay a 32-bit installer with 64-bit information. This requires a command line to launch (bootstrapper) or a build time transform which still results in 2 installers.
If an assembly is true 64-bit then each Component like that needs to have the 64-bit Component flag set to Yes.
A 32-bit MSI can be installed on both 32-bit and 64-bit systems, but a 64-bit installer can only be installed on 64-bit systems.
In InstallShield - Under General Information is the Template Summary choice that you use to chose a project-wide processor type and default language.
Chad
1. A 32-bit MSI does not have access to the 64-bit portions of the registry and file system. This makes deploying true 64-bit components impossible since everything is redirected by the Windows OS to the Wow6432Node in the registry and to the C:\Windows\SysWOW64 folder. The GAC, too, if you use that area.
2. A 64-bit MSI cannot be run on 32-bit systems. It will always throw an error.
There are workarounds that people have come up with including, but not limited to
1. A bootstrapper to select bitness which launches either the 32-bit or 64-bit MSI as appropriate
2. An MST transform to overlay a 32-bit installer with 64-bit information. This requires a command line to launch (bootstrapper) or a build time transform which still results in 2 installers.
If an assembly is true 64-bit then each Component like that needs to have the 64-bit Component flag set to Yes.
A 32-bit MSI can be installed on both 32-bit and 64-bit systems, but a 64-bit installer can only be installed on 64-bit systems.
In InstallShield - Under General Information is the Template Summary choice that you use to chose a project-wide processor type and default language.
Chad
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 19, 2017
10:27 AM
Thank you Chad for explanation. Based on what you said, I think it will be cleaner to have two installers then.
What about Product/Upgrade/Package Codes, should they be the same for both 32- and 64-bit version of installers?
What about Product/Upgrade/Package Codes, should they be the same for both 32- and 64-bit version of installers?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 19, 2017
10:54 AM
Since a 32-bit and 64-bit installer of the same product would both generally not be installed on the same computer you have some choices/decisions to make. On a 64-bit machine it would be possible to run both the 32-bit and the 64-bit. If you have the codes the same it can give you a message to go uninstall the other version (default message paraphrased). If all the codes are different then it would likely be possible to install both - so experiment some in this area and see what works for you.
I worked on a product that had some files and registry keys that were either 32-bit or 64-bit. Not a lot of files, so I wrote the 32-bit to install everything 32-bit on a 32-bit or 64-bit computer and then a small 64-bit installer to drop the 64-bit files and it actually read the 32-bit registry keys and set the 64-bit keys to the same values during the install - pretty easy to do. So, in this case I DID want them to be able to run both the 32-bit and then on 64-bit machines also run the 64-bit installer - sort of an overlay installer.
So, some of this comes down to what you want it to do.
Chad
I worked on a product that had some files and registry keys that were either 32-bit or 64-bit. Not a lot of files, so I wrote the 32-bit to install everything 32-bit on a 32-bit or 64-bit computer and then a small 64-bit installer to drop the 64-bit files and it actually read the 32-bit registry keys and set the 64-bit keys to the same values during the install - pretty easy to do. So, in this case I DID want them to be able to run both the 32-bit and then on 64-bit machines also run the 64-bit installer - sort of an overlay installer.
So, some of this comes down to what you want it to do.
Chad
