cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
redbox
Level 4

Is it possible to build 32bit kit and 64kit from same project?

I'm trying to use same InstallShield project to build two kits: one for 32bit Vista and one for 64 bit Vista. (The 64bit kit has two 64-bit components that the 32bit kit doesn't have.)

The problem is, I have to set the 'Template Summary' as 'Intel64;1033' in order to avoid the build Error 5008. However, the new setting will cause the 32bit installer not runable on 32bit platform with an error of "This package is not supported by this processor type".

I wonder does it mean I have to use dedicated project for each of them?

Thanks!
Labels (1)
0 Kudos
(8) Replies
alegerlotz
Level 7

Create different Product Configurations for 32 bit and 64 bit under "Releases".

For each product configuration, set your template as necessary and set Release Flags for each.

On your features, you can apply the 32 bit or 64 bit Release Flag you've defined so the correct feature gets picked up for each configuration.

-Al
0 Kudos
redbox
Level 4

Thanks for your reply. My problem is not about how to configure two kits, but about how to configure the 'Template Summary' to satisfy both packages.

InstallShield makes the 'Template Summary' as a per-project property, instead of a per-package property. In other words, there is no way that I can use different 'Template Summary' values for different releases built from same project.

alegerlotz wrote:
Create different Product Configurations for 32 bit and 64 bit under "Releases".

For each product configuration, set your template as necessary and set Release Flags for each.

On your features, you can apply the 32 bit or 64 bit Release Flag you've defined so the correct feature gets picked up for each configuration.

-Al
0 Kudos
alegerlotz
Level 7

redbox wrote:
Thanks for your reply. My problem is not about how to configure two kits, but about how to configure the 'Template Summary' to satisfy both packages.

InstallShield makes the 'Template Summary' as a per-project property, instead of a per-package property. In other words, there is no way that I can use different 'Template Summary' values for different releases built from same project.


Its per project, but its also per PRODUCT CONFIGURATION under Releases.

Go to Media->Releases on the left most pane in installShield, then "Create a new Product Configuration" under Releases and look at the set of properties you can set. One of them is Template Summary. Set that as necessary for the product configuration you want.

If you need a different Template Summary, create another Product Configuration for it.
0 Kudos
redbox
Level 4

Thanks a lot for the hint!!! It solved my problem.

Another question, how do I set Conditions for Custom Actions for 32bit and 64bit packages respectively. Is there a public property that flags which platform the installer is running on? Alternatively, can I use Release Flag on Custom Actions?


alegerlotz wrote:
Its per project, but its also per PRODUCT CONFIGURATION under Releases.

Go to Media->Releases on the left most pane in installShield, then "Create a new Product Configuration" under Releases and look at the set of properties you can set. One of them is Template Summary. Set that as necessary for the product configuration you want.

If you need a different Template Summary, create another Product Configuration for it.
0 Kudos
alegerlotz
Level 7

I've used ReleaseFlags within InstallScript custom actions before and I'm pretty sure you can can refer to them in normal conditional statements as well.
0 Kudos
redbox
Level 4

Thanks a lot!

alegerlotz wrote:
I've used ReleaseFlags within InstallScript custom actions before and I'm pretty sure you can can refer to them in normal conditional statements as well.
0 Kudos
alegerlotz
Level 7

I had to do this today, and it wasn't until then that I remembered that you need to refer to them as ISReleaseFlags in conditional statements and when doing MsiGetProperty in InstallScript.
0 Kudos
redbox
Level 4

Thank you very much! Finally I used VersionNT64 as conditions for x64 custom actions. For those functions shared by both x64 and x86 packages, I used SYSINFO.bIsWow64 in the script.

However, I got stuck on setting the launching condition. I'd like to prevent the x86 package from running on x64 platform. I might be wrong, again, but I didn't find a place to set the condition for individual package. So, I put a per-project launching condition as below:
(VersionNT64 AND (ISReleaseFlags=Flag64)) OR ((NOT VersionNT64) AND (ISReleaseFlags=Flag32))

I tested my x64 package on an x64 machine. It always returns False. (I didn't try other combinations yet.) Any idea about that?


alegerlotz wrote:
I had to do this today, and it wasn't until then that I remembered that you need to refer to them as ISReleaseFlags in conditional statements and when doing MsiGetProperty in InstallScript.
0 Kudos