0
votes

I am an InstallShield noob and I was just experimenting with a couple of features in InstallShield.

I have a basic MSI project (InstallShield 2010). I created 3 features in my project namely -
1) 32 bit
2) 64 bit
3) Common Files
All these features deliver the files to program Files folder which is the default install folder.

Each of these features contain 2 components -
1. a .txt file
2. and a registry key.

For the both the components under 64bit feature, I have set the 64bit component option to true

In the Setup Design for 32 bit feature I have set the release flag as "X86"
and for the 64 bit feature I have set the release flag as "X64"

Now I have configured 2 releases
1. X86 release - which contains 32 bit feature + common feature
2. X64 release - which contains the 64 bit feature + common feature

Now when I execute the 64 bit MSI, all my files are delivered to ProgramFiles x86 folder, instead of ProgramFiles Folder.

However I am able to see that the 64 bit registry is created properly under the HKLM\software hive and not under WOW6432Node

I have been slogging away at different options for almost a day now without any progress :(

3

3 Answers

4
votes

Ensure your 64-bit release does both of the following:

  • Roots files under [ProgramFiles64Folder] instead of [ProgramFilesFolder], probably through an appropriate custom action to set directories
  • Uses a Template Summary of x64 instead of Intel (plus the same list of language codes)
0
votes

Michael you did put me on the right path.

I still used the programFiles folder as my base installation directory and I created a directory custom action just after costfinalize, which checks for the target architecture of the end machine and sets the Installdir as either Program Files x86( for 32 bit install) and Program Files x64 for 64bit install.

Thanks :)

0
votes
  • Uses a Template Summary of x64
  • Set 64 bit component to yes