64-bit Install is Spilt Between the x86 and the 64-bit Program Files Folder
Posted: 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
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