我一直致力于Visual Studio设置&部署项目,其中包含安装在系统中的JRE的先决条件。我正在使用搜索和启动条件来检查JRE注册表项,并基于为用户提供下载JRE的URL并在安装后继续。
虽然这有效,但要求是能够基于32/64位操作系统搜索正确的注册表位置,并为用户提供32/64位JRE的相应下载URL。
我无法弄清楚VS.Net安装项目是否有可能根据安装程序是在32位还是64位系统中运行来提供条件搜索和/或启动条件。根据我的理解,我们应该创建两个针对32位和64位系统的独立安装程序。
任何人都可以对此有所了解。
答案 0 :(得分:0)
是的,你应该创建两个安装程序,每个架构一个:
然而另一个问题是,在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,请手动添加该位以查看它是否有帮助。