自行安装服务

本文关键字:服务 安装 | 更新日期: 2023-09-27 18:34:31

我用谷歌搜索过这个

但是当我尝试应用它时,我收到一个错误。所以安装/卸载工作正常,但服务本身只是不启动,超时后它说服务没有响应。我不知道为什么。当我附加到处理时,它甚至不会进入 Main(( 方法、静态构造函数等。我已经使用这个插件进行附加。

    public static void Main()
    {
        AppDomain.CurrentDomain.UnhandledException += OnException;
        if (Environment.UserInteractive)
        {
            AskUserForInstall();
        }
        else
        {
            ServiceBase.Run(new NotificatorService());
        }
    }

服务也很简单:

using System.ServiceProcess;
using System.Windows;
namespace AZNotificator
{
    public partial class NotificatorService : ServiceBase
    {
        static NotificatorService()
        {
            int x = 5;
        }
        public NotificatorService()
        {
            InitializeComponent();
        }
        protected override void OnStart(string[] args)
        {
            MessageBox.Show("Hello");
        }
        protected override void OnStop()
        {
        }
    }
}

自行安装服务

您无法从 Windows 服务调用MessageBox.Show("Hello");,因为该服务没有 GUI。

如果您想从Windows服务进行一些交互,请查看本文

http://msdn.microsoft.com/en-us/library/ms683502(VS.85(.aspx

因此,从

OnStart方法中删除MessageBox.Show("Hello");,您的服务应该可以正常启动。