服务方式程序发布

lihbymr 2008-07-22 06:48:56
C#2005开发的服务方式运行的程序,我用VS2005带的安装和部署程序做了个程序安装程序,可是安装之后只是和普通的winform程序一样拷贝程序注册需要的dll并没有注册运行程序到服务管理器里面,可是有不能通过客户端的cmd命令行方式运行installutil注册程序到服务管理器里面。请问有什么方式来发布服务方式运行的程序呢?
...全文
45 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihbymr 2008-07-25
  • 打赏
  • 举报
回复
5楼的信息在那找到的。
好像还不错。
zCheng 2008-07-24
  • 打赏
  • 举报
回复
1、在你的服务项目中,添加一个安装类(见下面 MSDN 引用)
2、重新编译你的服务项目
3、在你的安装项目中,到“自定义操作”界面,添加自定义操作,目标程序选择你的服务程序。记得要安装、卸载都要添加。

---------------------
Visual Studio 随附有安装组件,这些组件可以安装与服务应用程序相关的资源。安装组件在正在安装到的系统上注册一项单个的服务,并使服务控制管理器知道该服务的存在。当使用服务应用程序时,可以在“属性”窗口选择一个链接,以自动将适当的安装程序添加到项目中。有关安装组件以及组件的工作方式的更多信息,请参见安装组件介绍。

注意:
服务的属性值将从服务类复制到安装程序类。如果更新服务类上的属性值,这些属性值在安装程序中将不会自动更新。


当向项目添加安装程序时,项目中会创建一个新类(默认情况下名为 ProjectInstaller),并在其中创建适当的安装组件的实例。该类作为项目所需的所有安装组件的中心点。例如,如果向应用程序添加第二项服务并单击“添加安装程序”链接,这时并不创建第二个安装程序类,而是将第二项服务所需的其他安装组件添加到现有类。

要正确安装服务,并不需要在安装程序中进行任何特殊编码。但是,如果需要向安装进程添加特殊功能,则可能偶尔需要修改安装程序的内容。有关更多信息,请参见如何:配置安装组件。

在将安装程序添加到应用程序之后,下一步是创建安装项目,该项目将安装已编译的项目文件并运行安装服务所需的安装程序。若要创建完整的安装项目,您必须将服务项目的输出添加到该安装项目,然后添加自定义操作以安装您的服务。有关安装项目的更多信息,请参见安装项目。有关自定义操作的更多信息,请参见演练:创建自定义操作。

注意:
显示的对话框和菜单命令可能会与帮助中的描述不同,具体取决于您现用的设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。


将安装程序添加到服务应用程序
在“解决方案资源管理器”中,访问要为其添加安装组件的服务的“设计”视图。

单击设计器的背景以选择服务本身,而不是它的任何内容。

设计器具有焦点时,右击然后单击“添加安装程序”。

这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。

单击 ServiceInstaller 组件,验证 ServiceName 属性的值已为与服务本身的 ServiceName 属性的值相同。

若要确定如何启动服务,请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值。


若要确定将要运行服务的安全上下文,请单击 ServiceProcessInstaller 组件并设置适当的属性值。有关更多信息,请参见如何:为服务指定安全上下文。

重写需要为其执行自定义处理的所有方法。有关更多信息,请参见如何:重写安装组件上的默认方法。

对项目中的每项附加服务执行步骤 1 到步骤 7。

注意:
对于项目中的每项附加服务,必须将附加的 ServiceInstaller 组件添加到项目的 ProjectInstaller 类中。步骤三中添加的 ServiceProcessInstaller 组件适用于项目中的所有单个服务安装程序。


创建您的安装项目和自定义操作,部署和安装您的服务。有关安装项目的更多信息,请参见安装项目。有关自定义操作的更多信息,请参见演练:创建自定义操作。

virusswb 2008-07-24
  • 打赏
  • 举报
回复
把命令写在bat里面
virusswb 2008-07-24
  • 打赏
  • 举报
回复
那就写个bat批处理一下吧
lihbymr 2008-07-24
  • 打赏
  • 举报
回复
上班就来顶上
lihbymr 2008-07-23
  • 打赏
  • 举报
回复
亮了一天都没人回答,就这么难么?
高手们

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧