2013-04-20 43 views
0

其实我想运行exe文件(My Job.exe)通过C#窗口服务,但是窗口服务应该在我启动计算机时自动启动?如何在C#中添加窗口服务/安装它并通过此窗口服务运行exe(My Job.exe)?

我已经手动添加了Window Service(MyService)。我也安装了我的应用程序项目,我也添加了这项服务,以便在安装我的应用程序时也可以进行安装。 我serviceInstaller1财产

StartType=Automatic;ServiceName=MyService. 

我也有serviceProcessInstaller1与物业

Account=LocalSystem; 

当我运行此我Applicationo被安装,但为MyService还是没有得到安装,我也看不出它的服务计算机管理。

可以在任何的身体,请帮助我,我已经花费上有两个天,但没有找到合适的理念为指导。提前致谢。

+0

您使用的是哪个版本的.NET Framework?你使用什么VisualStudio?什么操作系统将被安装服务?也许你需要使用InstallUtil.exe注册服务。 – TRMI 2013-04-20 05:20:24

+0

我正在使用.Net 4.0 with visual Studio 2010.service将安装在Window XP上,但稍后也将安装在Window 7和8上。 – 2013-04-20 05:23:46

+1

http://cherupally.blogspot.in/2009/09/how-to -create-setup-project-to-install.html可能有帮助 – Mogli 2013-04-20 05:25:29

回答

0

你的应用程序是如何安装的?你为它创建了一个安装程序(.msi文件)吗?这听起来像你试图实现你自己的安装程序,而不是使用现有的工具来做到这一点。

我建议Advanced Installer。它是一个非常强大的安装程序生成器,并具有您在免费版本中所需的所有功能,更重要的是,它非常易于使用。使用此工具,您可以创建安装向导,以便修补和卸载软件(包括服务,注册表值,文件等)。

+0

我已经在VS2010中为此创建了新的安装项目,通过以下步骤添加 - >新建项目 - >设置和部署 - > Visual Studio安装程序 - >安装项目。当我运行它时,运行我的应用程序,但不包括我也包括在内的服务。 – 2013-04-20 05:47:58

0

我最近有一个项目在VS2010和.Net 4.5中使用windows服务,用户操作系统将是Windows Server 2008.我无法长时间创建完全功能的安装,但我仍然没有,但请求发生了改变不需要安装文件。但我可以给你建议“如何做”。 如果您没有购买InstallShield版本,则需要找到其他一些用于创建安装文件的程序。 对于安装你只需要复制你的服务和一个批处理文件女巫的.exe文件输出将旁边内容:

@ECHO off 

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" "%~dp0%<filename>.exe" 

pause 

,然后你需要管理权限运行该批处理文件。 这两个文件(.exe和.bat)必须位于同一个文件夹中。 您可以删除pause命令,但您不会看到服务注册是否成功。 确保您已在PC上安装了目标.NET Framework。

我希望这会帮助你。

0

如果你只需要在系统启动时,你可以你的EXE添加到Windows Task Scheduler运行您的exe文件(我Job.exe)。

是否有使用Windows服务的任何特定的目的是什么?

,我说这样做的原因是,你有各种各样的选择基于共同的重复事件,即在计算机启动时或当用户登录到EXE调用你如下

  • 时间表上。
  • 基于日历进行计划,即每日,每周,每月或一次。
  • 高级选项,如基于事件执行等。