在Windows服务中运行程序并获取“未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))”

时间:2015-10-27 16:04:00

标签: c# windows

我创建了一个程序,它通过COM注册表启动另一个程序。主程序如下所示:

ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"E:\Main\Debug\Executive.exe";
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
start.Arguments = "/run " + arguments[0];
using (Process proc = Process.Start(start))...

Executive.exe将通过查看注册表启动另一个程序。如果我在VS2013内或通过命令行运行此例程,一切正常。但是,如果我把它放在Sindows服务的protected override void OnStart(string[] args)方法中。我会收到Class not registered错误。有什么建议我应该看看吗?主要目标是将Executive.exe作为Windows服务运行。

1 个答案:

答案 0 :(得分:-1)

我们过去运气时使用regsvr32.exe Windows命令行实用程序在遇到问题时注册dll。有关它的更多信息可以找到here