PDA

View Full Version : Both x32 version and x64 version products are in a single InstallShield project?



Ivan_mysammy
09-10-2010, 01:53 PM
My scenario:
Our product has two versions (one each for x32 and x64), the source files’ names are exactly same. I attempt to build two releases within a single InstallShield Basic MSI project by assigning “x32” and “x64” release flags to each feature.

Why do I want a single project?
I don’t need to repeat the works for each version of creating dialog boxes, custom actions, project level properties and something else.

Issues I met when combine two versions in a single InstallShield project:
1. The “template summary”: if I give the value “intel”, then x64 version doesn’t work; while give the value “x64”, then x32 version doesn’t work.
2. [INSTALLDIR]: this property has a project level constant value. Thus if I satisfy 32 version, then x64 version files cannot go to the right installation directory, unless I hardcode them.

My solution:
1. Change “template summary” value manually before building the responding releases;
2. Don’t hardcode installation directory for x64 version, but change [INSTALLDIR] value each time I want to shift release
Obviously this is not a good solution.

I saw someone in this community give a solution of creating 2 projects, copy one from the other by creating a vbscript to convert x32 project to x64 project. But that is based on the source files in two version are exactly same and I don’t prefer using scripts to do this.

Thanks in advance for any guidance and discussion!

Ivan_mysammy
09-14-2010, 04:36 PM
Ok, let me leave some useful information I collected, in case of anyone meeting my problem and need help.

Reference:
http://community.flexerasoftware.com/showthread.php?t=189714

see post #3 and #8 on above thread.

In addition, "You still need to create mirrored (or parallel) feature trees (one 32 bit and one 64 bit) and set appropriate Release Flags for them. You then create duplicate components (with different GUIDS)—half 32 bit and half 64 bit, and associate them with the appropriate 32 bit or 64 bit features. Then you create 2 Configurations (One with a TemplateSummary of Intel;1033 one with x63;1033—assuming English only) with Releases under them that reference Release Flags from the Feature trees. Then you just build each release separately."

I didn't try this solution, because I have already seperated the x32 and x64 to two projects before I saw it. I will come back to try this solution after finishing the current work.

Hope this help and thanks Dan for offering the above solution.

destek
09-14-2010, 08:30 PM
It seems to me that Dan's guide was written for IS2010, not IS2011 - and as I understand it IS2011 does provide a way to create both 32 and 64 bit installers from a single project.
I would love to see if Flexera has a tutorial for this somewhere... Especially converting current 2010 projects into a single 32/64 project.

hint hint... (I know that lacked subtlety...:p