我在哪里可以找到 SQL Server 2012 VSS Writer 的注册表项

Where can i find registry entry for SQL Server 2012 VSS Writer

我正在尝试检查 SQL 服务器安装期间安装的所有默认组件(如 VSS 编写器、本机客户端、安装支持文件等)是否存在于机器上。我尝试查看 SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ 并找到了除 VSS 编写器之外的每个组件的条目。
所以我的问题是:在哪里可以找到 SQL Server 2012 VSS writer 的注册表项?或者有没有其他方法可以使用 C# & SQL/T-SQL 来检测它?

使用 ServiceProcess 命名空间和 ServiceController 对象,您可以找到 VSS Writer 是否存在于该机器(或您有权访问的任何其他机器)上。下面是一个非常粗略的方法:

using System;
using System.ServiceProcess;

namespace GetService
{
    class Program
    {
        static void Main(string[] args)
        {
            var services = ServiceController.GetServices();
            bool vssExists = false;
            foreach (ServiceController sc in services)
            {
                Console.WriteLine("Name: {0} is {1}", sc.DisplayName, sc.Status);

                if (sc.DisplayName.Equals("SQL Server VSS Writer"))
                    vssExists = true;
            }

            Console.WriteLine(vssExists);
            Console.ReadLine();
        }
    }
}