c# - Problem detecting installed application on Win Svr 2003 x64 -


I have an x86 Windows application that has some services and a client IEEE.

Due to persuading various MSIs to properly upgrade various MSIs, the installation process is now controlled by a wizard-style program that is currently installed and the user's current By accumulating settings, uninstalling existing software and handling upgrades by installing new version (

  • HKLM \ Software \ Classes \ Installer \ Products < / Li>
  • Look in

  • ProductName = "(My app name)"
  • Looking through the GUID key, loop, HKCU \ Software \ Microsoft
  • Instead of
  • If a user is found, then give the user an upgrade (as previously mentioned) and install a clean (i.e. the user asked various questions by Wizard )

Now, it works very well on any of the Windows platforms, carefully note XP They have only the Windows Server fails to 2003 x 64, is detected not by an existing installation wizard - well I tested on another platform, despite being present in spite of the registry keys.

This is ok:

  • XP x32
  • Vista x32, x64
  • Server 2003 x 86
  • < Li> Server 2008 x86, x64
  • Server 2008 R2 x64
  • Windows 7 x86, x64

This is only Server 2003 X 64 which displays it issue.

OK. Eventually this was done.

The wizard was compiled as x86 and I think the registry virtualization was happening in the way. The X86 Wizard works fine on all other WinOS (32 and 64 bit), but it was not on server 2003x64. I think the entries made by WI were hidden from an x86 process.

MSIL as a recompression means that it now works everywhere including server 2003x64.


Comments