.net 使用dotNetInstaller检查是否安装了SQL Server 2008

.net 使用dotNetInstaller检查是否安装了SQL Server 2008,.net,installation,bootstrapper,dotnetinstaller,.net,Installation,Bootstrapper,Dotnetinstaller,我正在尝试为需要Microsoft SQL Server 2005向后兼容组件的应用程序创建一个具有的引导程序。我使用预构建的组件添加了一个检查 一切都很好,直到我意识到在安装Microsoft SQL Server 2005向后兼容组件之前需要检查SQL Server 2008的安装情况 这就是我被卡住的地方,在microsoft的下载页面中,我仔细检查了microsoft SQL Server 2005向后兼容性组件的系统要求,其中没有说明机器需要安装SQL Server 2008 如果需要

我正在尝试为需要Microsoft SQL Server 2005向后兼容组件的应用程序创建一个具有的引导程序。我使用预构建的组件添加了一个检查

一切都很好,直到我意识到在安装Microsoft SQL Server 2005向后兼容组件之前需要检查SQL Server 2008的安装情况

这就是我被卡住的地方,在microsoft的下载页面中,我仔细检查了microsoft SQL Server 2005向后兼容性组件的系统要求,其中没有说明机器需要安装SQL Server 2008


如果需要为Microsoft SQL Server 2005向后兼容组件安装SQL Server 2008,则我要检查是否已安装SQL Server 2008,如果没有,请跳过Microsoft SQL Server 2005向后兼容组件的安装,并继续安装我的产品。

我尚未使用dotNetInstaller,但您可以从注册表中获取已安装SQL Server的当前版本:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup\CurrentVersion
如果该条目存在,则表示已安装SQL Server 2008

如果未安装SQL Server 2008,则不应存在注册表项。不过,您可能需要检查卸载时发生的情况。我不知道条目是否仍然存在


环顾四周,我认为您可以使用
check\u registry\u value
install check来检查dotNetInstaller中的注册表值。

SQL Server 2008 R2呢。经过一番忙乱之后,我找到了类似于
SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\SQLEXPRESS
的东西,它的值应该是
MSSQL10\u 50.SQLEXPRESS
。这行得通吗?嗯,不太清楚SQL Express。但我希望SQLServer2008R2也在我提到的注册表项下,因为它仍然是9.0版。在CurrentVersion密钥中,应该有关于其确切版本的更多信息(R2或否、Service Pack等)。您可以在此处查看有关SQL Server版本的信息: