鉴于某些注册表值的关键(例如HKEY_LOCAL_MACHINE\blah\blah\blah\foo)我该如何:
我绝对没有打算将任何东西写回注册表(如果我可以提供帮助的话,我的职业生涯期间).因此,如果我错误地写入注册表,我们可以跳过关于我体内每个分子以光速爆炸的讲座.
首选C++中的答案,但大多只需要知道特殊的Windows API咒语是什么.
如何使用sqlcmd列出给定sql server 08实例的所有数据库?
我需要查找是否在计算机上安装了SQL Server.它可以是任何版本的SQL服务器(7,2005,8,sql express等).我们在编写安装程序时需要知道此信息,并且需要向用户显示如果未找到SQL服务器,则无法继续安装.
我见过使用注册表,wmi,SMO或只是连接到SQL服务器实例的版本(虽然在这里没有帮助,因为我们不知道服务器名称).
我们正在使用Wix安装程序.
这样做的正确方法是什么?
JD
我已经看过这个链接,但没有帮助: 如何确定已安装的SQL Server实例及其版本?
所以这是我的问题:

我想看看我的计算机上安装了哪些版本的sql.
如果我正在运行查询并输入:
select @@version
Run Code Online (Sandbox Code Playgroud)
它告诉我正在运行的线程版本.(我不想要)
我希望看到所有版本 - 如果已安装!
示例:计算机可以具有sql 2000,2005,2008,2008R2
我为我的sql server文件夹附加了一个打印屏幕.
我知道
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
Run Code Online (Sandbox Code Playgroud)
但是,这不是一个规则.
自2008年以来创造了80,90.
似乎找到安装版本的唯一方法(除了regedit)是由Sql Server配置管理器完成的.

问题:
1)仅通过文件系统可以检测我安装的版本吗?
2)有没有其他方式(除了注册表),看看安装了哪些SQL版本?
3)我读到mssql.1是针对引擎的.那MSSQL10.SQLEXPRESS怎么样?为什么它没有mssql.4号码?MSDN表示它是已安装组件的顺序ID.
我已经开发了一个.net项目,现在我正在做安装程序.我的项目需要Microsoft SQL 2008或Microsoft SQL 2008 Express.我已经创建了一个安装Microsoft SQL 2008 Express的Bootstrapper,除非有人安装了Microsoft SQL 2008,否则它可以正常工作.如果已安装Microsoft SQL 2008,我该如何绕过安装?
编辑: 此解决方案适用于Microsoft SQL 2008:
<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="AAA">
<InstallChecks>
<RegistryCheck Property="IsInstalled" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" Value="SQL2008" />
</InstallChecks>
<Commands Reboot="Defer">
<Command PackageFile="setup.exe" EstimatedInstallSeconds="15" >
<InstallConditions>
<BypassIf Property="IsInstalled" Compare="ValueExists" />
</InstallConditions>
</Command>
</Commands>
...
</Product>
Run Code Online (Sandbox Code Playgroud) 我正在寻找以编程方式检查特定计算机上是否安装了SQL Server 2005或2008的方法.
对于某些MS包,它就像Install在某个路径上检查注册表中的值一样简单.例如,要检查Full NET 4,需要查看HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.
SQL Server有类似的东西吗?我正在寻找真实的东西,而不是"快递".我该如何区分?此外,对2005年,2008年或R2的任何个人支票或累积支票都可以.
此外,我不限制自己注册.如果检查包括文件系统搜索,那也很好.
sql-server ×4
c# ×2
windows ×2
.net ×1
bootstrapper ×1
c++ ×1
installer ×1
registry ×1
sqlcmd ×1
winapi ×1