我有一个x86 Windows应用程序,它由几个服务和一个客户端ui组成。
由于说服各个MSI正确升级的各种问题,安装过程现在由向导式程序管理,该程序检测当前安装的内容并通过存储用户的当前设置,卸载现有软件和安装来处理升级新版本。
基本过程是:
HKLM\Software\Classes\Installer\Products
ProductName="(my app name)"
HKCU\Software\Microsoft\Installer\Products
开始重复现在,从XP开始,这几乎适用于你提到的任何Windows平台。它仅在Windows Server 2003 x64上失败,因为向导未检测到现有安装 - 尽管存在与我测试的任何其他平台上完全相同的注册表项。
没关系:
只有Server 2003 x64才会出现此问题。
答案 0 :(得分:0)
行。最后得出了一些正在发生的事情。
该向导编译为x86,我认为注册表虚拟化正在阻碍。 x86向导在所有其他WinOS(32和64位)上运行良好,但在Server 2003x64上却没有。我想WI创建的reg条目是从x86进程中隐藏的。
重新编译为MSIL意味着它现在无处不在,包括Server 2003x64。