利用WinForm 更好的实现Web安装程序的更多功能

来源:互联网 发布:vps配置数据库 编辑:程序博客网 时间:2024/05/07 03:03

本文转自:
http://blog.joycode.com/moslem/archive/2004/12/29/41985.aspx
原标题为:ASP.NET开发经验(5) --- 制作功能完善的安装程序
非常感谢 原作者

原文大概如下:
==============================
象 ASP、ASP.NET 等诸多基于 Web 的应用程序的安装与部署一直是个麻烦事情,
一般都是手工复制、手工修改相关配置文件(主要是数据库配置),
和 Windows 上 Installer 或 Linux 上的 RPM 相比,这种方式显然一点技术含量都没有。

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

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

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

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


1) 建立解决方案 Solution

2) 建立 Web 应用

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

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

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

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


=-============
附:
同时 也非常感谢 宝玉 提供的源码示例程序

大家也可以参考参考asp.net forums的安装程序,非常不错!
安装程序源码下载:http://bbs.openlab.net.cn/ShowThread.aspx?PostID=365490

 

原创粉丝点击