cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
seandr
Level 2

Once IS project for 32-bit and 64-bit distributions

I am attempting to create a single InstallShield project that I can use in combination with release flags to build a 32-bit or 62-bit version of my MSI installer. The installers are mostly same on the two platforms, the only difference being whether 32-bit or 64-bit versions of a couple of binaries are included in the MSI.

Unfortunately, when I attempt to build the project with the 64-bit release flag, I get the following error:

"ISDEV : error -5008: Intel64 or AMD64 must be specified in the template of the Summary Stream"

because the Template Summary is set to "Intel". Is there a way I can conditionally change the Template Summary value to "x64" depending on the release flag value? Or can I dynamically change it based on a parameter passed to iscmdbuild.exe? Or some other way to programmatically adjust this setting?
Labels (1)
0 Kudos
(4) Replies
jonathanqis
Level 6

I believe you can have only one processor architecture per configuration, though you can stipulate multiple languages on the Template entry.

I have created a 32-bit and 64-bit configuration in the same project.
In one I stipulated Intel and in the other x64.

I then created a feature tree which split the components by whether they were 64-bit or 32-bit. Added the components to the appropriate features.
Where components are required in one or the other architecture I set their containing feature's release flags appropriately.

Where components are required by both I set the features Release flags to values used in both configurations (Though I believe that features marked with no release flags will be included in any configuration.

Hope this helps.
0 Kudos
dpothugunta5208
Level 3

seandr wrote:
I am attempting to create a single InstallShield project that I can use in combination with release flags to build a 32-bit or 62-bit version of my MSI installer. The installers are mostly same on the two platforms, the only difference being whether 32-bit or 64-bit versions of a couple of binaries are included in the MSI.

Unfortunately, when I attempt to build the project with the 64-bit release flag, I get the following error:

"ISDEV : error -5008: Intel64 or AMD64 must be specified in the template of the Summary Stream"

because the Template Summary is set to "Intel". Is there a way I can conditionally change the Template Summary value to "x64" depending on the release flag value? Or can I dynamically change it based on a parameter passed to iscmdbuild.exe? Or some other way to programmatically adjust this setting?


Did you found any solutions. i ham on the same boat. Looking if i can able to change this programatically?
0 Kudos
bearthang
Level 2

dpothugunta5208 wrote:
Did you found any solutions. i ham on the same boat. Looking if i can able to change this programatically?


First, you create a global Property value that can be changed programatically. it must contain only upper-case letters in their name, e.g: RELEASE_TYPE.
Then opening the Components tab, for each components you will see the "Condition".
Which components are for 32-bit, you type RELEASE_TYPE><"x86", and "x64" for 64-bit components.

Of course you must create a dialog that let user chooses which type he want. After this action, that property above will be changed depend on which platform type.
E.g: if he choose 32-bit, you apply an action to change RELEASE_TYPE = "x86"
if he choose 64-bit, change RELEASE_TYPE = "x64"
0 Kudos