我有一个尝试创建COM对象的Windows服务。
MOVEitAPI.clientObj mi = new clientObj();
当我作为控制台应用程序运行时,它运行得很好。但是,当我将其作为Windows服务运行时,它会抛出错误:
由于以下错误,检索具有CLSID {99E6491E-539E-49B1-A85F-141C139655AF}的组件的COM类工厂失败:80070583类不存在。 (例外?来自HRESULT:0x80070583)。
我找到的唯一方法就是勾选“允许服务与桌面交互”复选框。选中该框后,它会正常运行。
仅供参考,我的服务是32位。
有没有办法绕过这个要求,因为我认为在生产环境中不允许“允许服务与桌面交互”选项?我已经读到它不像Vista之前那么大,因为它使用的是Session 0.但是我想要一个替代方案。