小弟我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (错误来自 HRESULT:0x80040154

我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (异常来自 HRESULT:0x80040154
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
                    SpVoice voice = new SpVoice();
                    SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
                    SpFileStream spFileStream = new SpFileStream();
                    videoName = Guid.NewGuid().ToString();
                    videoName = Application.StartupPath + "/video/" + videoName + ".wav";
                    spFileStream.Open(videoName, spFileMode, false);
                    voice.AudioOutputStream = spFileStream;
                    voice.Speak(phoneStr, spFlags);
                    voice.WaitUntilDone(1000);
                    spFileStream.Close();


上面是代码,用的是DotNetSpeech.dll,我是使用了打包部署,生成了安装文件,并且安装文件设置了系统服务,开机启动这个项目的winnet.exe文件,当安装文件安装成功之后,如果开机启动,会成功启动这个winnet.exeexe,但是会报错如下:
信息:错误信息:没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
错误源:DotNetSpeech
堆栈:   在 DotNetSpeech.SpVoiceClass.Speak(String Text, SpeechVoiceSpeakFlags Flags)

如果我这时候用任务管理器把winnet.exe这个进程关闭了,然后在安装目录手动启动winnet.exe(或者我直接用vs项目启动),不会报错,但是自己开机启动会报错,求大神给指点迷津,谢谢
winform 打包部署 .net DotNetSpeech tts

------解决方案--------------------
估计DotNetSpeech服务还没有启动吧。
------解决方案--------------------
对异常做处理,检测等需要的服务启动后再继续