这可能是常见问题之一。但到目前为止我还没有遇到任何帮助。在为应用程序创建MSI包时,我需要检查是否安装了JDK 1.7.0。如果是,请继续安装else,在用户的权限重定向到安装URL后显示一条消息,以安装先决条件。
我已使用"添加注册表搜索"但我提供的条件要么总是失败,要么总是过去。以下是我使用的参数:
添加注册表搜索:
属性:JDKEXISTS
RegKey:SOFTWARE \ JAVASOFT \ JAVA DEVELOPMENT KIT
Root:vsdrrHKLM
值:currentversion
发布条件:
条件:(JDKEXISTS ="已安装")
InstallUrl:要从
下载的网址消息:您的系统需要Java 1.7.0或更高版本。现在下载?
然而,它不起作用。有人可以帮我吗?
答案 0 :(得分:1)
如果注册表搜索在注册表中找到该项,那么您需要用作条件的是JDKEXISTS。这已经足够了。我不知道这个价值是否实际上已经安装了#34;这是您正在检查的内容,但您并不需要它。如果找不到值,JDKEXISTS将不存在(并且将为false)。
这看起来像一个VS安装项目。在VS安装项目注册表搜索中也存在各种错误。如果您的密钥位于何处,则无法搜索本机64位注册表。注册表搜索始终搜索32位注册表。您需要编辑MSI文件(使用Orca)来修改RegLocator表类型值以添加64位搜索选项(添加16)。 https://msdn.microsoft.com/en-us/library/aa371171(v=vs.85).aspx