cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
check4cash
Level 3

how to install different files according to the operating system

I have an old 32bit application, and it works fine on some win7 64bit installing on the x86 program files directory. However, some win7 64bit machines had troubles with the registry values that this application is using.

so my plan is to modify the program for the 64bit machines. now the question is, how do i tell installshield to install a different executable file when the user has a 64bit machine? I am using a basic MSI installation.

Thanks for your time!
Labels (1)
0 Kudos
(5) Replies
DanCla
Level 5

I think the issue you may be having is that a 32bit installer cannot drop files into Program Files, on a 64bit machine. Also, a 64bit installer can drop files to both Program Files directories, but will not run on a 32bit machine. I was able to resolve this on one of my projects in a not very elegant manner. Which was to write a utility that was able to install things into Program Files on 64bit machines on behalf of the 32bit installer.
0 Kudos
check4cash
Level 3

Thanks for your reply. sorry that i did not make myself clear in my post. i'm thinking of writing two versions of the 32-bit application, one uses registry to store values, which was what I have right now, and the other is going to create a text file in appdata directory to store values, which I think might be useful for windows 7 64bit users.

is it possible to create package that would install the two different applications according to the OS? thanks!


DanCla wrote:
I think the issue you may be having is that a 32bit installer cannot drop files into Program Files, on a 64bit machine. Also, a 64bit installer can drop files to both Program Files directories, but will not run on a 32bit machine. I was able to resolve this on one of my projects in a not very elegant manner. Which was to write a utility that was able to install things into Program Files on 64bit machines on behalf of the 32bit installer.
0 Kudos
Matthias1967
Level 5

You should check the property VersionNT64.
0 Kudos
CHANDINATHREDDY
Level 7

create two compenents with executables for different opperating systems and at component level use the condition VersionNT64<>"1" for one and versionnt64="1" in onether
0 Kudos
check4cash
Level 3

Chandinathreddy and Matthias1967, thanks a lot for your replies!

CHANDINATHREDDY wrote:
create two compenents with executables for different opperating systems and at component level use the condition VersionNT64<>"1" for one and versionnt64="1" in onether
0 Kudos