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: InstallShield adding x64 merge modules when it is a 32-bit app.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Aug 29, 2011
07:02 AM
InstallShield adding x64 merge modules when it is a 32-bit app.
Hello,
After upgrading to InstallShield 2012 and building a few times successfully, I am now noticing the warnings "Adding merge module 'Visual C++ 10.0 CRT (x64)' that is a dependency of component 'XXX'" to a bunch of dlls/exes during the build of the installer, when it said before "Adding merge module 'Visual C++ 10.0 CRT (x86) MSM' that is a dependency of component 'XXX'". These are all x86 dlls/exes (compiled as Platform Any CPU, with others Platform 32bit) and it should not be adding x64 modules, as it did not do this before. This ends up producing the error "ISDEV : error -5008: Intel64 or AMD64 must be specified in the template of the Summary Stream" at the end. The only thing that has change since my first few builds in 2012 is the normal Windows Update process. Any suggestions to force this to be x86 merge modules or how to fix this?
I have made sure every component has 'No' set for '64-bit Component' and that makes no difference. Also, using the 32-bit version of MSBUILD to compile the source, so it has no chance of being a 64-bit application.
After upgrading to InstallShield 2012 and building a few times successfully, I am now noticing the warnings "Adding merge module 'Visual C++ 10.0 CRT (x64)' that is a dependency of component 'XXX'" to a bunch of dlls/exes during the build of the installer, when it said before "Adding merge module 'Visual C++ 10.0 CRT (x86) MSM' that is a dependency of component 'XXX'". These are all x86 dlls/exes (compiled as Platform Any CPU, with others Platform 32bit) and it should not be adding x64 modules, as it did not do this before. This ends up producing the error "ISDEV : error -5008: Intel64 or AMD64 must be specified in the template of the Summary Stream" at the end. The only thing that has change since my first few builds in 2012 is the normal Windows Update process. Any suggestions to force this to be x86 merge modules or how to fix this?
I have made sure every component has 'No' set for '64-bit Component' and that makes no difference. Also, using the 32-bit version of MSBUILD to compile the source, so it has no chance of being a 64-bit application.
(8) Replies
‎Aug 29, 2011
01:32 PM
Semi-Solved:
If I right click one of the managed dlls that reported the addition of x64 merge module, I could see that Visual C++ 10.0 CRT (x64) was added as a dependency. This is very weird, since the installer built before. The only thing that changed on the entire box was what occurred during a Windows update (updated .NET and Visual C++) and then InstallShield started reporting the error. I did not add or remove any files to the InstallShield project in between updates. When I originally added files, I selected No/No to All for detecting dependencies. Still, like I said, these dlls were compiled with 32-bit MSBUILD and I have no idea why they would be detected to need x64 modules.
If I right click one of the managed dlls that reported the addition of x64 merge module, I could see that Visual C++ 10.0 CRT (x64) was added as a dependency. This is very weird, since the installer built before. The only thing that changed on the entire box was what occurred during a Windows update (updated .NET and Visual C++) and then InstallShield started reporting the error. I did not add or remove any files to the InstallShield project in between updates. When I originally added files, I selected No/No to All for detecting dependencies. Still, like I said, these dlls were compiled with 32-bit MSBUILD and I have no idea why they would be detected to need x64 modules.
‎Aug 29, 2011
04:30 PM
I just wanted to also mention I am having the same problems as mentioned above on x32 bit dll's and the installer trying to add x64 items when I know for a fact everything is x32....
Also having wierd issues when testing a Suite Project in a clean XP (x32) machine where I only get the Program Maintenance screen when I run setup.... This a super clean machine.
Also having wierd issues when testing a Suite Project in a clean XP (x32) machine where I only get the Program Maintenance screen when I run setup.... This a super clean machine.
‎Aug 30, 2011
07:04 AM
I would be more than happy to privately, just not uploaded to the forum
‎Aug 30, 2011
11:03 AM
‎Aug 31, 2011
11:26 AM
Just sent the email..
‎Sep 01, 2011
01:41 PM
I worked with Binary Poet offline and figured out that he has the 64-bit version of MSVCR100.DLL in the same folder containning the file he is trying to scan. InstallShield detects that MSVCR100.DLL as a dependency and therefore adds the 'Visual C++ 10.0 CRT (x64)' merge module to his installation. In order to get it work-around, remove the file or change the Path environment variable to list a directory containing the 32-bit version of MSVCR100.DLL first.
I would recommend that you use the Dependency Walker to find out the location of dependencies detected on your machine. You can view the full path of the dependencies by selecting the View | Full Paths menu option.
Also, I've submitted the work order IOA-000065378 so that InstallShield will detect the dependencies based on the target CPU architecture wisely in a future release.
Hope that helps.
I would recommend that you use the Dependency Walker to find out the location of dependencies detected on your machine. You can view the full path of the dependencies by selecting the View | Full Paths menu option.
Also, I've submitted the work order IOA-000065378 so that InstallShield will detect the dependencies based on the target CPU architecture wisely in a future release.
Hope that helps.