use*_*676 7 windows-services installutil
我在安装Windows服务时遇到问题.我安装和卸载了多次服务(installutil ..... installutil/u)没有任何问题,但出现了问题,现在当我尝试安装时,我收到下面列出的错误消息.我检查了计算机管理控制台,服务CIMediator没有出现在服务列表中.如何删除该服务?
System.ArgumentException:源CIMediator已存在于本地计算机上.
ryb*_*ers 15
刚解决了同样的问题,也经过了大量的卸载/安装/重启.我有自己的服务安装程序实现(派生自[System.Configuration.Install.Installer] [1]),我已经指定了应用程序EventLog如下:
public ProjectInstaller()
{
InitializeComponent();
EventLogInstaller installer = FindInstaller(this.Installers);
if (installer != null)
{
installer.Log = "MyService";
}
}
Run Code Online (Sandbox Code Playgroud)
您可能具有以下方式实现的相同功能([MSDN:EventLog.CreateEventSource方法] [2]):
if(!EventLog.SourceExists("MySource"))
{
EventLog.CreateEventSource("MySource", "MyNewLog");
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,在一些安装过程EventLog
中成功创建,但在卸载期间出现了问题,并且没有删除EventLog(虽然它没有显示EventViewer
,但它仍然存在于注册表中).所以错误"MyService已经存在于本地计算机上",显然是关于EventLog的错误,而不是服务本身.
您可以尝试执行以下操作:
转到"开始"菜单并键入regedit
.这将打开注册表编辑器.请注意,始终建议在执行任何操作(文件 - >导出)之前备份整个注册表,或者仅建议您要编辑/删除的键.打开编辑 - >查找,键入CIMediator并仅选中Keys.您的服务名称应在以下位置多次显示为密钥
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\CIMediator,
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\CIMediator,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\CIMediator,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CIMediator
尝试删除这些键.它对我有用.
检查该密钥是否仍在注册表中。
HKLM\System\CurrentControlSet\Services\CIMediator (可能,除非密钥定义不同)
如果是,请将密钥导出到 .reg 文件,然后将其删除。
归档时间: |
|
查看次数: |
6826 次 |
最近记录: |