C# 检测Win Svr 2003 x64上已安装的应用程序时出现问题
我有一个x86 Windows应用程序,它由两个服务和一个客户端ui组成 由于说服各种MSI正确升级的各种问题,安装过程现在由向导式程序控制,该程序检测当前安装的内容,并通过存储用户的当前设置、卸载现有软件和安装新版本来处理升级 基本过程是:C# 检测Win Svr 2003 x64上已安装的应用程序时出现问题,c#,installation,registry,windows-server-2003,64-bit,C#,Installation,Registry,Windows Server 2003,64 Bit,我有一个x86 Windows应用程序,它由两个服务和一个客户端ui组成 由于说服各种MSI正确升级的各种问题,安装过程现在由向导式程序控制,该程序检测当前安装的内容,并通过存储用户的当前设置、卸载现有软件和安装新版本来处理升级 基本过程是: 查看HKLM\Software\Classes\Installer\Products 在其中的GUID键中循环查找ProductName=“(我的应用程序名称)” 如果未找到,请从HKCU\Software\Microsoft\Installer\Pro
- 查看
HKLM\Software\Classes\Installer\Products
- 在其中的GUID键中循环查找
ProductName=“(我的应用程序名称)”
- 如果未找到,请从
开始重复HKCU\Software\Microsoft\Installer\Products
- 如果找到,请向用户提供升级(如前所述),否则进行全新安装(即向导会向用户询问各种问题)
- XP x32
- Vista x32、x64
- 服务器2003 x86
- 服务器2008 x86,x64
- 服务器2008 R2 x64
- Windows 7 x86、x64
似乎只有Server 2003 x64出现了此问题。确定。终于弄明白发生了什么事 该向导编译为x86,我认为注册表虚拟化正在成为阻碍。 x86向导在所有其他WinO(32位和64位)上都能正常工作,但在服务器2003x64上却不能。我猜WI创建的reg条目对x86进程是隐藏的 作为MSIL重新编译意味着它现在可以在任何地方工作,包括服务器2003x64