带有基于32/64位系统的条件启动子句的Visual Studio安装项目

问题描述 投票:0回答:1

我一直在研究Visual Studio安装与部署项目,该项目对于在系统中安装JRE具有先决条件。我正在使用搜索和启动条件来检查JRE注册表项,并基于该条件为用户提供下载JRE并在安装后继续的网址。

虽然此方法有效,但要求是能够基于32/64位OS搜索正确的注册表位置,并为用户提供32/64位JRE的相应下载URL。

我无法根据安装程序是在32位还是64位系统中运行来确定VS.Net安装项目中是否可以提供条件搜索和/或启动条件。据我了解,我们应该针对32位和64位系统创建两个单独的安装程序。

任何人都可以对此有所了解。

setup-project vdproj
1个回答
0
投票

是的,您应该创建两个安装程序,每个体系结构一个:

http://blogs.msdn.com/b/heaths/archive/2008/01/15/different-packages-are-required-for-different-processor-architectures.aspx

但是另一个问题是,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手动添加,以查看是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.