我一直在研究Visual Studio安装与部署项目,该项目对于在系统中安装JRE具有先决条件。我正在使用搜索和启动条件来检查JRE注册表项,并基于该条件为用户提供下载JRE并在安装后继续的网址。
虽然此方法有效,但要求是能够基于32/64位OS搜索正确的注册表位置,并为用户提供32/64位JRE的相应下载URL。
我无法根据安装程序是在32位还是64位系统中运行来确定VS.Net安装项目中是否可以提供条件搜索和/或启动条件。据我了解,我们应该针对32位和64位系统创建两个单独的安装程序。
任何人都可以对此有所了解。
是的,您应该创建两个安装程序,每个体系结构一个:
但是另一个问题是,VS安装项目中的注册表搜索中始终存在一个错误,该错误会破坏64位注册表搜索。通过搜索构建x64安装项目,然后获取MSI编辑器(例如Orca,从Windows SDK中的Orca.msi安装)。打开您的x64 MSI并转到RegLocator表,该表应填充一些有关您的搜索的数据。
http://msdn.microsoft.com/en-us/library/aa371171(v=vs.85).aspx
您可能会发现Type字段没有设置msidbLocatorType64bit,因此即使x64搜索也将搜索32位注册表,因此如果缺少该位,请与Orca手动添加,以查看是否有帮助。