终于做了个windows service,在调试的时候都OK,并用installutil servicename.exe来注册服务,但一旦要打包到客户端安装,就碰到个问题
不知道该如何打包 windows service,并正确安装在客户端,还要向windows注册服务
请教!!!

解决方案 »

  1.   

    不是webservice.是windowsservice,把程序注册成系统服务
    vs.net的安装只能把文件打包起来,但是无法注册成系统服务,或者是我不知道该如何在安装包里写注册成服务的语句~~~
      

  2.   

    可以做到,你需要继承一个微软写好的安装组件,名字想不起来了,你查MSDN吧,
    好像是ServiceProcessInstaller
      

  3.   

    为服务创建安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。 
    在“项目类型”窗格中选择“安装和部署项目”文件夹。 
    在“模板”窗格中选择“安装项目”。将项目命名为 MyServiceSetup。 
    安装项目随即添加到解决方案。 然后,将 Windows 服务项目的输出 MyNewService.exe 添加到安装项目中。向安装项目添加 MyNewService.exe 在解决方案资源管理器中,右击“MyServiceSetup”,指向“添加”,然后选择“项目输出”。 
    出现“添加项目输出组”对话框。 在“项目”框中选择“MyNewService”。 
    在列表框中,选择“主输出”,然后单击“确定”。 
    MyNewService 的主输出的项目项被添加到安装项目中。现在添加自定义操作以安装 MyNewService.exe 文件。 向安装项目添加自定义操作 在解决方案资源管理器中右击安装项目,指向“视图”,然后选择“自定义操作”。 
    出现自定义操作编辑器。 在“自定义操作”编辑器中右击“自定义操作”节点,然后选择“添加自定义操作”。 
    出现“选择项目中的项”对话框。 在列表框中双击“应用程序文件夹”将其打开,选择“主输出来自 MyNewService(活动)”,然后单击“确定”。 
    主输出被添加到自定义操作的所有四个节点,即“安装”、“提交”、“回滚”和“卸载”。 在解决方案资源管理器中,右击 MyServiceSetup 项目并选择“生成”。 
    安装 Windows 服务 若要安装 MyEventLog.exe,请右击解决方案资源管理器中的安装项目,并选择“安装”。 
    启动和停止服务 通过执行下列操作之一打开服务控制管理器: 
    在 Windows 2000 Professional 中,在桌面上右击“我的电脑”,然后单击“管理”。在“计算机管理”控制台中,展开“服务和应用程序”节点。 
    - 或 - 在 Windows 2000 Server 中,单击“开始”,指向“程序”,单击“管理工具”,然后单击“服务”。 
    注意   在 Windows NT 4.0 版中,可以从控制面板中打开该对话框。
    现在应该看到 MyNewService 列在窗口的“服务”区域中。 从列表中选择您的服务,右击该服务,然后单击“启动”。 
    右击该服务,然后单击“停止”。 
    验证服务的事件日志输出 打开服务器资源管理器并访问“事件日志”节点。有关更多信息,请参见在服务器资源管理器中处理事件日志。 
    注意   服务器资源管理器的“服务器”节点在 Visual Basic 和 Visual C# .NET 的标准版中不可用。有关更多信息,请参见 Visual Basic 标准版功能或 Visual C# 标准版的功能。
    找到 MyNewLog 的列表并展开它。您应该看到服务所执行操作的项。 
    卸载服务 在“开始”菜单上,打开“控制面板”并单击“添加或删除程序”,然后找到您的服务并单击“删除”。 
    还可以通过右击 .msi 文件的程序图标并选择“卸载”来卸载该程序。 
    注意   如果是在 Windows 2000 上安装了服务,则必须重新启动系统后才能重新安装服务。在 Windows 2000 中,服务在系统重新启动之前不会完全删除。
    这是msdn上的内容很详细的。照着做就行了
      

  4.   

    我用的是vs2005,添加服务CS后,可以直接添加serviceProcessInstaller1和serviceInstaller1,并且我都有设置,像localsystem之类的.我现在不知道在客户端是通过installutil servicename.exe来注册服务,还是通过双击EXE文件,就直接可以注册成服务???
      

  5.   

    用PluginInstaller.msi試試,
    vs2003\2005的安裝插件