检测SQL Server 2008是否已安装

3
我正在使用 dotNetInstaller 作为启动程序,并且我需要检测 SQL Server 2008 或更高版本是否已作为先决条件安装。
目前,我正在使用以下注册表进行检测: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server 2008 Redist\SharedManagementObjects\1033\CurrentVersion\Version 如果 Version 的值为 10.0.0 或更高,则将其检测为已安装。我们在这里的 10 台计算机上尝试了安装包(Windows XP SP3 和 Windows 7),先决条件运行正常。我们收到了很多人的报告,尽管他们已经安装了 SQL 2008,但它没有检测到该安装。
从日志中可以看到:
2010-07-13 09:33:49 Checking whether registry value 'SOFTWARE\Microsoft\Microsoft SQL Server 2008 Redist\SharedManagementObjects\1033\CurrentVersion\Version' exists
2010-07-13 09:33:49 Opening 64-bit registry view (KEY_WOW64_64KEY)
2010-07-13 09:33:49 *** No registry key found: SOFTWARE\Microsoft\Microsoft SQL Server 2008 Redist\SharedManagementObjects\1033\CurrentVersion\Version, default value: false
2010-07-13 09:33:49 -- Microsoft SQL Server 2008 R2 x86 (Microsoft SQL Server 2008 R2 x86 Express): NOT INSTALLED

dotNetInstaller 检查:

<installedcheck type="check_registry_value"
                                            rootkey="HKEY_LOCAL_MACHINE"
                                            path="SOFTWARE\Microsoft\Microsoft SQL Server 2008 Redist\SharedManagementObjects\1033\CurrentVersion"
                                            fieldname="Version"
                                            fieldtype="REG_SZ"
                                            fieldvalue="10.0.0"
                                            comparison="version_ge"
                                            wowoption="WOW64_64"
                                            defaultvalue="False"
                                            description="Installed Check" />

有人知道检查的确定性关键吗?

(这句话可能需要更多上下文才能更准确地翻译)
3个回答

2

我认为我使用的密钥只能检测工具是否已安装。 我将使用此密钥:SOFTWARE\Microsoft\Microsoft SQL Server\100\Bootstrap Release\1033\CurrentVersion\Version


2
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Bootstrap\Setup

PatchLevel

这似乎更有可能是候选项,因为它由R2和R2 SP1安装程序同时更新。


1

他们不会使用SQL Server 2008开发人员版吧?我认为密钥可能在“Microsoft SQL Server 2008 Redist”级别上有所不同,但我这里没有检查。


SQL Server 2008 Express适用于所有用户。 - Nate Zaugg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接