您的位置:首页 > 编程语言 > ASP

ASP.NET--制作功能完善的安装程序

2008-05-01 04:42 525 查看
.Hgk844{display:none;} 象ASPASP.NET等诸多基于Web的应用程序的安装与部署一直是个麻烦事情,一般都是手工复制、手工修改相关配置文件(主要是数据库配置),和Windows上Installer或Linux上的RPM相比,这种方式显然一点技术含量都没有。

对于胖客户端应用,从很早开始就一直都有较为完善的安装程序制作工具了,如InstallShield、InstallAnywhere、WiseInstaller、SWIFTInstaller等等,其中一部分已经实现了跨平台,可以运行在Windows、Linxu、Java等平台上。

从VisualStudio6.0开始,Microsoft提供了单独的SetupTools,可以用来制作简易的安装程序,后来,这个工具被集成到VS.NET2002/2003中,并且功能做了一些增强,可以制作自定义的对话框等。其优点是能很好的和VS.NET的项目进行集成,这样在整个解决方案(Solution)在Build的时候,就可以生成安装包,这样便于实现每日构建(DailyBuild),同时其缺点仍然存在,不能对安装过程进行更多地控制,提供的对话框功能和类型有限,很少看到有人利用这些对话框实现对系统的一些较为复杂的配置,如绝大多数应用程序中都会涉及的数据库创建、初始数据的生成等工作。

有很多不错的安装工具中,在安装的过程中就可以对实现对系统进行一些配置,但安装结束后,如果配置发生改变,例如数据库迁移等,又变成一件令人头疼的事情,如果对系统了解较多,知道配置数据的存放位置,就可以手动修改,如果不了解怎么办?难道要先卸载,再重新安装来完成新配置?

在很多不错的胖客户应用中,配置界面是和安装界面独立的,这样便于在安装系统后,灵活地调整其配置,那么就把它拿到ASP.NET安装程序中吧。

1)建立解决方案Solution。

2)建立Web应用。

3)新增一个WinForms应用AppConfig,增加一个WinForm,完成初始化系统环境,修改系统配置的功能(如生成数据库、生成初始数据、修改Web.Config中的数据库连接参数,Machine.Config或自定义配置文件)等功能,生成AppConfig.exe。

4)新增一安装项目Setup,除了将Web应用的的“主输出”和“内容输出”加入到项目中,还要将AppConfig的“主输出”加入到此项目中。

5)在Setup项目中的“自定义操作中”的“安装”节,增加一自定义操作,使其运行来自于AppConfig的“主输出”AppConfig.exe。

这样ASP.NET安装程序在运行的最后阶段,会运行AppConfig的WinForm程序,来完成相关的配置,如数据库等。如果以后配置发生改变,可以直接运行AppConfig.exe来更改配置。

值得一提的是,由于AppConfig是WinForms应用,相对于Installer的对话框而言,有很大的发挥余地,例如我经常在项目中加入SQLServer管理对象Interop.SQLDMO.dll的引用,这样可以在输入/选择SQLServer的列表框中实现自动列出可用的SQLServer名称列表,看起来很专业的样子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: