Windows サービスとして実行されるアプリケーションがあります。実行中は、flexnet サーバーをチェックして、更新があるかどうかを確認します。存在する場合は、更新がダウンロードされ、サービスが停止され、更新がインストールされます。このアップデーターは InstallAnywhere 2010 で作成されました。これが Windows 7 64 ビットで実行されている場合を除いて、すべて正常に動作しています (Windows の 64 ビット バージョンでも同じことが起こると考えられます)。Windows 7 32ビットではすべて正常に動作します。
問題が発生すると、更新プログラムは flexnet から正常にダウンロードされます。これが実行され、インストール ファイルが C:\Windows\system32\config\systemprofile\AppData\Local\Temp\ に解凍されます。次に、解凍したばかりのインストール実行可能ファイルを実行します。ただし、その実行可能ファイルは、「LaunchAnywhere: 実行可能ファイルが見つかりません」というエラー ダイアログを表示します。その実行可能ファイルは、一緒に解凍されたファイルが見つからないように動作します。
繰り返しますが、32bit では問題ありません。また、ユーザーとしてログインしているときに同じプロセスを実行できます (プログラムはサービスとしてではなくユーザー モードで実行されます)。そのユーザーの一時ディレクトリを使用し、すべて正常に動作します。この問題は、64 ビット システムでサービス (システム ユーザー) として実行している場合にのみ発生します。
アイデアや提案はありますか?