cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
js1234
Level 2

Installer won't work on 64bit windows as system user

We have an application that runs as a windows service. As it's running, it will check with a flexnet server to see if there is an update. If there is, then the update is downloaded, the service is stopped, and the update is installed. This updater was created with InstallAnywhere 2010. Everything is working fine except when this runs on Windows 7 64bit (we believe the same thing happens on any 64bit version of Windows). Everything works fine on Windows 7 32bit.

When the problem occurs, the update is successfully downloaded from flexnet. It executes, and unpacks the installation files to C:\Windows\system32\config\systemprofile\AppData\Local\Temp\. Then it runs the installation executable that was just unpacked. That executable, however, throws up an error dialog saying "LaunchAnywhere: cannot locate executable". That executable acts like it can't find the files that were unpacked with it.

Again, on 32bit there's no problem. Also, we can run the same process while logged in as a user (program is running in user mode instead of as a service). It uses that user's temp directory, and everything works fine. The problem only happens when on a 64bit system, while running as a service (system user).

Does anyone have any ideas or suggestions?
Labels (1)
0 Kudos
1 Reply
Martin
Level 5

A 32 bit executable will be redirected to C:\Windows\SysWoW64. I assume something goes wrong at that point. The files are in the SysWoW64 folder and the exe points to the System32 directory or the files are in the System32 directory and the exe points to SysWoW64.
0 Kudos