【发布时间】:2014-12-01 16:26:57
【问题描述】:
我有一项服务应该根据某些条件打开一个 exe 应用程序 (C# Application)。当服务以调试模式 (Visual Studio) 启动时,它会打开应用程序。但是当它作为服务安装时,它不会这样做。它无法打开应用程序。为什么会这样?
【问题讨论】:
-
用户必须查看应用程序吗?这是不可能的。您的服务是否在会话中运行?这可能是必需的。
-
服务默认运行在一个不允许用户交互的隔离会话中。 Windows 服务并非旨在进行交互,因此您在此处尝试执行的操作并不是服务应执行的操作。您可能需要考虑将代码重构为用户模式应用程序。明确您需要 exe 应用程序做什么,以及该服务做什么?
-
是的,用户必须看到应用程序。不,不是的。有什么解决方法吗?
-
您好Kenneth,该应用程序是一个每周考勤系统(多用户)。它需要每周一启动,用户可以通过选择exe应用程序中的提醒我选项来推迟此操作。时间记录在文本文件中。这里的服务读取文本文件并与系统日期进行比较,如果更大应该启动应用程序。它还写入下周一的日期。它在调试模式下工作正常,安装时失败。
-
我理解的问题是错的,还是你只需要使用
Process.Start?这甚至可以很好地启动 GUI 应用程序......
标签: c# windows-services