In the past, I have written about how to properly use ProgramFilesFolder in 32-bit and 64-bit installations. I related a method I had been told about by InstallShield tech support and thought people would like to know about it. However, I have had mixed results with that method. It may be a valid method, but I was unable to get it to work reliably. Therefore, this post will relate the current method I use.
When I have one InstallShield Basic MSI project that creates both 32-bit and 64-bit releases, I will set the value of INSTALLDIR to different values of ProgramFilesFolder. I will create two “Set a Property” custom actions to do this. One for 32-bit and one for 64-bit.
If it’s 32-bit, I will set INSTALLDIR to ProgramFilesFolder. If it’s 64-bit, I set INSTALLDIR to ProgramFiles64Folder. I place each custom action in both the User Interface and Execute sequences.
Here is a screenshot of the 32-bit custom action:
Custom action which sets INSTALLDIR for 32-bit systems
Here is a screenshot of the 64-bit custom action:
Custom action which sets INSTALLDIR for 64-bit systems
This method seems to work reliably for me.