您最好的选择可能是通过 WMI 查询 Win32_Product。您可以使用WMI Code Creator v1.0来帮助您创建适当的查询。您还可以查看WQL(用于 WMI 的 SQL)以获取有关支持的查询语法和ManagementObjectSearcher 类的信息。
这样的事情应该可以解决问题:
using System;
using System.Management;
using System.Windows.Forms;
namespace WMISample
{
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_Product WHERE Name LIKE '%SQL%'");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_Product instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("InstallDate: {0}", queryObj["InstallDate"]);
Console.WriteLine("InstallLocation: {0}", queryObj["InstallLocation"]);
Console.WriteLine("Name: {0}", queryObj["Name"]);
Console.WriteLine("SKUNumber: {0}", queryObj["SKUNumber"]);
Console.WriteLine("Vendor: {0}", queryObj["Vendor"]);
Console.WriteLine("Version: {0}", queryObj["Version"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
}
- 升级工具以升级顾问结束
- 调试符号由某些应用程序按需从符号服务器中提取,并且不会显示在 Win32_Products 中。
- 通过对 Win32_Products 的普通 WMI 查询似乎无法检测到复制支持
- Books Online 以 Books Online 结尾(英文)
- 开发工具以 BI Development Studio 结束
您可以通过运行 SQL Server 安装发现报告了解已安装的功能(需要管理员权限):
- 转到开始菜单
- 单击所有程序
- 单击 Microsoft SQL 服务器
- 单击配置工具
- 单击 SQL Server 安装中心
- 单击工具部分链接
- 单击已安装的 SQL Server 功能发现报告
您还可以通过运行从命令行创建报告setup.exe /ACTION=RUNDISCOVERY /Q
(C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2
在 SQL Server 2008 R2 的情况下)。报告文件通常位于 中C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\YYYYMMDD_HHmmSS
,其中 YYYYMMDD_HHmmSS 是报告运行的日期和时间。SqlDiscoveryReport.xml 可能是对以编程方式使用最有用的一种。请注意,这些位置可能会有所不同,具体取决于用户在初始设置期间选择的安装位置和 SQL Server 的版本。