cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

Suite install and detect correct program files folder

I want to use the suite install to install several packages, but only ask for the install folder once. This I can do easily with the "Destination Folder" dialogue and get the folder path into a variable which I can then pass into the feature install as a command line parameter.

However I want to set the default value to the correct "Program Files" or "Program Files (x86)" folder dependent upon whether its a 32 or 64-bit install.

I can initialise the variable to either [ProgramFilesFolder] or [ProgramFile64Folder] to do this but how can I set this correctly at run-time?

Is there a way to detect if the suite install targets a 32 or 64-bit system?

Setting it to [ProgramFilesFolder] doesn't work on x64 systems - it gets set to "Program Files (x86)" presumably because the setup exe program is 32-bit?

Thanks in advance.
Labels (1)
0 Kudos
(10) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I thought the way Suites resolve [ProgramFiles64Folder] results in using the 32-bit folder on a 32-bit system; have you tried that?
0 Kudos
Not applicable

On x86 systems [ProgramFiles64Folder] does indeed resolve to "Program Files" which is fine.

However on my x64 test systems [ProgramFiles64Folder] resolves to "Program Files (x86)" which I don't think can be correct! I get this behaviour on Win2003/Win2008 x64.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

That definitely sounds incorrect. I'll follow-up internally and see what I can find out.
0 Kudos
Not applicable

Many thanks for that Michael.
0 Kudos
Not applicable

Just wondered if there was an update on this?

Many thanks.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

This seems related to IOA-000067153 (see http://community.flexerasoftware.com/showthread.php?t=199985), and there are a couple of workaround ideas. (They include adding an unusued 64-bit MSI file, or hardcoding the path.)
0 Kudos
Not applicable

Unfortunately hard-coding the install path isn't going to work in a multi-language environment where "Program Files" is spelt differently and/or the system partition isn't C: say.

I'm not sure how the MSI work-around is supposed to work. I already have a mixture of x86 and x64 setups in my suite install though these are EXEs and not MSIs. Do I need a dummy x64 MSI added to the suite?
0 Kudos
Not applicable

It seems this problem also applies to the suite properties [CommonFiles64Folder] and [System64Folder]. On x64 systems these properties give the x86 folder location and not the x64 folder!

Surely this can't be right...I must have something incorrectly set?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

We currently only correctly determine that we need to add 64-bit support if you include a 64-bit MSI, and there is no way for 32-bit code to determine these folder locations. If you can't easily add a 64-bit MSI as an MSI package (or can't afford the size overhead), you can sign a copy of \redist\language independent\x64\setupsuite64.exe, rename it to setup64.exe, and add it to your project's support files.
0 Kudos
Not applicable

Hmm tried that and it doesn't seem to make a difference. I did this:

1. Took a copy of setupsuite64.exe, renamed it to setup64.exe and digitally signed it with my company's digital certificate.

2. I then added the file to support files.

Re-built and re-ran and got the same result - i.e. x86 folders. I checked that setup64.exe was extracted to SupportDir.
0 Kudos