我在哪里可以找到 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();
}
}
}
我正在尝试检查 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();
}
}
}