先说第一个:
我建立一个服务,在onstart中,如何终止服务的启动,并不要有服务终止或无法启动的任何对话框弹出。第二个:
如下代码,我单独拿出来在form中执行正常,但是通过系统服务执行,
报错:DELREG模块错误,错误信息:System.NullReferenceException:未将对象引用设置到对象的实例。在Service.Service.delreg()
代码如下:try
{
RegistryKey regkey;
regkey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Installer\Products\");
string[] keynames = regkey.GetSubKeyNames();
foreach (string kName in keynames)
{
string aa = regkey.OpenSubKey(kName).GetValue("ProductName").ToString();
if (aa == "Urum Test Service")
{
regkey.OpenSubKey(kName, true).DeleteValue("ProductName");
}
}
regkey.Close();
}
catch(Exception ex)
{
errWrite("DELREG模块错误,错误信息:" + ex);
}
我建立一个服务,在onstart中,如何终止服务的启动,并不要有服务终止或无法启动的任何对话框弹出。第二个:
如下代码,我单独拿出来在form中执行正常,但是通过系统服务执行,
报错:DELREG模块错误,错误信息:System.NullReferenceException:未将对象引用设置到对象的实例。在Service.Service.delreg()
代码如下:try
{
RegistryKey regkey;
regkey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Installer\Products\");
string[] keynames = regkey.GetSubKeyNames();
foreach (string kName in keynames)
{
string aa = regkey.OpenSubKey(kName).GetValue("ProductName").ToString();
if (aa == "Urum Test Service")
{
regkey.OpenSubKey(kName, true).DeleteValue("ProductName");
}
}
regkey.Close();
}
catch(Exception ex)
{
errWrite("DELREG模块错误,错误信息:" + ex);
}
第2个 可能是权限不的问题.取不到注册表的值把.服务里没写过注册表.