自行安装WInService

时间:2013-10-09 15:33:40

标签: c# .net windows service

我用谷歌搜索了this one

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

    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()
        {
        }
    }
}

1 个答案:

答案 0 :(得分:2)

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

如果你想从windows服务做一些互动,请看看这篇文章

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

从您的MessageBox.Show("Hello");方法移除OnStart,您的服务就应该开始了。