1、.Net Web 项目安装包制作 (一)最近公司要求 OA 要以安装的形式,方便实施人员安装到客户机器上。之前是在好几年前用 VS2003 的打包过 Web 项目,不过早已忘却。所以第一个想法就是使用搜索引擎查找,网上也有许多介绍,不过有些讲的比较粗,看不太明白。还是动手实践一下,或许会清爽明朗。在测试 Web 项目中新建一个 Web 安装项目,如下图:在新建的安装项目,右击项目如下图:选择项目输出,选择要输出的项目,如下图:我选一个 Web 网站,则只有内容输出选项,选中内容文件选择确定。如果选 Web 项目,则如下图:右击项目点击属性,则出现如下图:再点击系统必备:这些选择打包程序需要包含
2、的组件,主要是我们需要.Net Framework 组件,我们需要打包进来。这里将.Net Framework 2.0(X86)打钩,并且在下面指定系统必备组件的安装位置选择第二项,这样就打钩的组件就会跟进安装包了。第一项则是组件从微软网站上下载,第三项则是指定自定义位置。点击确定,接下来,我们右击项目,如下图:点击启动条件,如下图:我们可以看到启动条件,我们来看看 IIS 条件,右击 IIS 条件,查看属性窗口,如下图:这里可以看到设置条件,IISVERSION = “#5“表示 IIS 版本需要 5.0 以上,如果需要 6.0 以上则是 IISVERSION = “#6“。下面我们来设置安
3、装界面。右击项目如下图:选择点击用户界面,如下图:这里我已经添加了三个步骤,分别是许可协议、客户信息、文本框(A)这三个。通过右击启动,点击添加对话框,如下图:来选择我们需要的步骤。右击许可协议步骤,查看属性如下图:我们知道在安装很多软件的时候都会有一步是许可协议,然后让我们点击同意,然后再下一步,就是这里啦。我们这里添加了一个 license.rtf 文件到安装项目,这里就可以选择这个文件了。由于在安装过程也需要设置数据库,所以我们还需要让安装用户在安装过程中输入数据库服务器信息,这里就是文本框(A)这个步骤啦。右击步骤查看属性窗口如下图:这里有四个文本框可以使用,我们只需要三个数据库服务器
4、、帐号、密码,所以第四个 Visible 设置为 false。由于需要配置数据库,则我们需要再建一个项目,新建一个类库项目,然后添加一个安装类,如下图:生成一个安装类如下图,是一个继承 Installer 类的类。然后我们需要在安装类中编写代码啦。我们重写 Install 方法:public override void Install(IDictionary stateSaver)这里就是我们需要写配置数据库信息。然后我们在安装项目中添加这个项目,如下图:然后右击安装项目,如下图:选择自定义操作,则出现自定义操作界面如下图:然后我们在安装的操作中添加刚才的新建的项目,右击安装,添加自定义操作,
5、如下图:选中并点击确定。接下来我们需要在安装过程传递输入的数据传递这个项目中,右击安装下面的刚添加的主输出,如下图:属性框中的 CustomActionData 就是指定要传递到安装程序的自定义数据。然后我们再回到新建的那个安装类,在 Install 方法就可以接收安装过程中输出的数据库信息,如下:public override void Install(IDictionary stateSaver)base.Install(stateSaver);string databaseServer = Context.Parameters“server“.ToString();string user
6、Name = Context.Parameters“user“.ToString();string userPass = Context.Parameters“pwd“.ToString();string targetdir = Context.Parameters“targetdir“.ToString();/这里操作添加数据库,只要执行创建数据库的脚本就可以了。/这个是测试在安装目录下添加接收到的用户填写的数据库信息File.WriteAllText(Path.Combine(targetdir, “log.txt“), databaseServer + “/n/r“ + userName + “/n/r“ + userPass);这里 Context.Parameters“server“的 Server 和上面设置 CustomActionData 是对应的。