笔记:windows服务安装

  最近工作用到了部署程序,我了解的程序部署技术有两种方式:Clickonce技术和使用传统的windows install方式。但在练习使用ClickOnce发布技术时总是提示一些错误,到现在还不知道什么原因。我就先说说使用windows install方式如何创建部署程序。它也有两种方式:单独创建一个安装程序的解决方案和在已有的解决方案中添加安装程序project。我使用的是单独创建一个安装程序的solution。在创建部署程序前,请先搞清楚你的软件所需要的外部资源(配置文件,com组件,图片等)。

Step 1.创建安装程序solution.

TestSetUp.solution

Step 2.设置TestSetUp project的属性(属性面板)。这里有几个重要属性:ProductCode, windows install将使用这个属性标示应用程序的后续升级或安装;

TargetPlatForm,指示目标机器需要32位还是64位。其它的属性还不是很了解。

project 属性设置

Step 3.右击Setup1,选择‘Properties'。弹出‘Setup1 property page窗口’,在这里可以设置程序如何打包,以及需要的环境。注意:Configuration选择realease。Packge files:默认是in setup file,也可以选择其它。单击’PreRequisites..'按钮,可以设置运行安装程序所需要的条件,当没有时是从网站下载还是直接将这些条件打包到安装程序中。

property page

在下面的窗口中可以选择安装程序需要的环境,并指示是从网站下载还是将其打包到安装程序中。

Step 4.前期已经做好了,现在就需要将要部署的程序.exe文件及其所需要的资源(dll,图片,配置文件等)添加到File System窗口下的Application Folder中。如下图所示,也还可以创建文件夹将添加的资源进行分类(Project Output在安装程序和需要部署的程序在一个解决方案时使用,在这里没用):

我这里只是简单的制作一个安装程序,因此用于测试的CreateDirectore.exe没有用到资源。其中InstallUtil.exe是用于安装和卸载windows service,它在c:/windos/Microsoft.NET/framework/v4.030319/,这里v4.030319是framework的版本号,你要选择你机器上面的文件夹。

Step 5.安装windows service需要添加一些动作(即要执行安装服务操作)。首先,通过右键SetUp1 project,单击View->Customer Action选项,打开Customer Action窗口。有4个文件夹:Install,表示这里的动作将在安装阶段的最后执行;Commit,表示动作将在安装完成后执行,不记录错误;Rollback,动作在回退阶段完成后执行;Uninstall:动作在卸载完成后执行。我们将在Install和Uninstall中添加动作。

将弹出如下对话框,选择在File System的Application Folder下面的installUnitl.exe。

Step 6.接下来,就需要设置刚才添加的动作的属性,选中installUntil.exe,单击属性面板。这里我们需要如下图中的设置。注意argument属性开头空格(不知道为什么),此为它的格式‘  [TARGETDIR]/...'省略号换成需要安装的windows service。另外,InstallClass属性要设为false(不知道为什么)。

Step 7.用同样的操作,在Unitiall Folder中添加卸载windows service动作。与安装过程的区别是argument属性的参数不同,这里属性应该设为:' /u [TARGETDIR]/...'(记得开头空格)。

Step 8.编译solution,在Release文件夹下面应该可以看到.msi和setup.exe文件了。

整个过程就是这样。

posted @ 2011-09-19 14:34  华-子  阅读(586)  评论(0)    收藏  举报