Detecting if SQL Server 2008 is installed

ⅰ亾dé卋堺 提交于 2019-12-13 13:56:02

问题


I am using dotNetInstaller as a bootstrapper and I need to detect if SQL Server 2008 or above is installed as a prerequisite.

Currently I am using this registry to detect the installation: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server 2008 Redist\SharedManagementObjects\1033\CurrentVersion\Version

If the value of Version is 10.0.0 or higher it detects it as installed. We tried the installation package on 10 machines here (Windows XP SP3 & Windows 7) and the prerequisite worked fine. We are getting reports from a lot of people that although they have SQL 2008 installed it does not detect the install.

From the log:

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 Check:

<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" />

Does anyone know the definitive key to check?


回答1:


I believe the key I was using only detects if the tools are installed. I'm going to use this key: SOFTWARE\Microsoft\Microsoft SQL Server\100\Bootstrap Release\1033\CurrentVersion\Version




回答2:


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

PatchLevel

Appears to be a more likely candidate as it's updated by both the R2 and R2 SP1 installations.




回答3:


They're not using SQL Server 2008 Developer Edition are they? I think the key might be different at the "Microsoft SQL Server 2008 Redist" level, but I don't have it here to check.



来源:https://stackoverflow.com/questions/3257328/detecting-if-sql-server-2008-is-installed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!