64-bit Install is Spilt Between the x86 and the 64-bit Program Files Folder

Got a problem you cannot solve? Try here.
Sheri_Steeves
Posts: 124
Joined: Mon Oct 22, 2012 2:14 pm

64-bit Install is Spilt Between the x86 and the 64-bit Program Files Folder

Postby Sheri_Steeves » Thu May 11, 2017 2:37 pm

Hello,

We have an interesting issue that has happened on a very small number of client machines, and that we have not been able to reproduce.

What happens is that the installer, as a 64-bit installer, is set to use "C:\ProgramFiles\PEERNET #TITLE#". All of my programs folders are created in the correct location, but when ApplyInstall is called to actually copy the files, they all get copied into "C:\ProgramFiles (x86)\PEERNET #TITLE#".

Our install is a 64-bit install. I detect that the PC is 64-bit at the beginning and exit if we're not on a 64-bit machine.

I set the the installer to x64 mode in the Check Application Requirements section.

Later, in the Check Application Prerequisites, I do flip back to 32, read some registry keys and then set it back. I am also setting the it again in the Define Setup Globals section.

After this happened the first time, I added a tracing variable into my script that I could turn on from the command line to show message boxes as the install progressed. In the message box I display the value of $TARGETDIR$ and $PROGRAMFILES$ at various points in the install.

TARGETDIR starts out as "C:\Program Files (x86)\#TITLE#" and after the destination dialog it becomes "C:\ProgramFiles\PEERNET #TITLE#", as expected. It remains this value right up to the ApplyInstall call, and is still this value after the ApplyInstall call.

On the problem machines though, all of the InstallFiles calls are redirected to the (x86) folder, leaving me with all of my folders created and empty in the correct location and everything else under the (x86) folder. I can even see this on the status message in the dialog as the files are copied.

The only work-a-around we have it have our client's install the product in a completely different location, such as C:\PEERNET #TITLE# instead of "C:\Program Files\PEERNET #TITLE".

Have you heard of this behaviour before? It has happened for clients who have been upgrading from a previously installed version and also on a brand new machine where I product had never been installed.

Thanks,

Sheri

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: 64-bit Install is Spilt Between the x86 and the 64-bit Program Files Folder

Postby FrancescoT » Fri May 12, 2017 10:28 am

Dear Sheri,

I suspect instead that there is something wrong "somewhere" in your script code.

Are you totally sure that when "Apply Install" gets called, the setup is still effectively switched to x64 bit mode?

You may run a quick check to verify if this is true.
Just for test purpose, in your main script add an additional "Set x64 - Native 64 bit Windows...." call immediately before the "Apply Install" statement. Then build your project and test if this workaround temporarily fixes the issue.

If this is true, for sure you missed to switch back to x64 mode somewhere in your code. In this case, I suggest you to carefully check the conditional statements present with your script(s) and that may be executed before your Apply Install call (For example; a conditional script call).

Hope this helps you.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 31 guests