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

  象 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 中的数据库连接参数,Machine.Config 或自定义配置文件)等功能,生成 AppConfig.exe 。

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

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

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

  值得一提的是,由于 AppConfig 是 WinForms 应用,相对于 Installer 的对话框而言,有很大的发挥余地,例如我经常在项目中加入 SQL Server 管理对象 Interop.SQLDMO.dll 的引用,这样可以在输入/选择 SQL Server 的列表框中实现自动列出可用的 SQL Server 名称列表,看起来很专业的样子。

时间: 2024-08-07 08:36:41

ASP.NET--制作功能完善的安装程序的相关文章

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

象 ASP.ASP.NET 等诸多基于 Web 的应用程序的安装与部署一直是个麻烦事情,一般都是手工复制.手工修改相关配置文件(主要是数据库配置),和 Windows 上 Installer 或 Linux 上的 RPM 相比,这种方式显然一点技术含量都没有. 对于胖客户端应用,从很早开始就一直都有较为完善的安装程序制作工具了,如 InstallShield.InstallAnywhere.Wise Installer.SWIFT Installer 等等,其中一部分已经实现了跨平台,可以运行在

asp 文件自动复制 文件移动 安装程序

sub install()  call fs()  set folder=fsobject.getfolder(server.mappath("."))    response.write("<b>Installation documentation is complete,Installation of the following documents</b><br>")   for each fd in folder.files

在.net安装程序部署SQL Server数据库

server|程序|数据|数据库 目录 l 摘要l 一般安装程序的制作l 在安装程序中部署SQL Server数据库1. 通过调用osql来执行数据库脚本文件2. 通过把脚本文件作为资源文件载入3. 通过sp_attach_db来创建数据库l 总结 摘要一个项目完成之后,安装程序的制作是一个必要的过程.如果需要部署数据库,则使安装程度的制作变得比较麻烦.使用visual studio.net可以非常方便的制作应用程序以及部署程序中需要的数据库.本文介绍了如何使用visual studio.net

一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)

原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版) 上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样:如需刊登,请与作者联系.little_fairycat@126.com. 第三部分:其他 1. 修改显示界面的风格 Installshield 原始安装界面我始终觉得很丑,幸好Installscript 是可以不用写代码就可以改界面风格的.

使用Install Anywhere让您的Java安装程序更高效和灵活

本文将介绍如何借助 Install Anywhere 更好地规划和设计 Java 安装程序,提供多平台多操作系统的部署,定义更灵 活的安装流程和环境检查,开发更加友好和美观的用户交互界面.文章主要面向 Java 软件安装程序开发人员,假定您对 Java 以及 Ant 开发有基本的了解,您也可以参见参考资料以了解更多 Install Anywhere 相关的知识. Install Anywhere 介绍 Install Anywhere 概述 Install Anywhere(以下简称 IA)是由

一个功能完善的专栏管理的程序-&amp;gt;这是asp.net的第二个应用(一)

一个功能完善的专栏管理的程序->这是asp.net的第二个应用(一)/*豆腐制作,都是精品http://www.asp888.net 豆腐技术站如转载,请保留完整版权信息*/ 前言:前面豆腐将过一个asp.net 版本的留言版的程序,今天在这里 再 参照实例我们来学习一个asp.net 版本的专栏管理程序,专栏现在几乎已经成为技术站点的一个保留栏目,豆腐在开始建站的时候本来想 突破传统,但是 但是最后发现 的确还是 专栏这种形式的 程序 对于 技术类站点来说是合适的 通过前面的留言版的 文章,很

用ASP制作InstallShield安装程序(1)

installshield|程序    我现在在做ASP的安装程序,这样可以方便用户的使用.我使用的InstallShield版本是InstallShield Professional-Standard Edition6.3.   我没有用过这个东东,问题如下:      问题一   通过Project Wizard-generated script 做好了COPY打包工作.可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包的Script脚本就是通过两个

看人家用使用InstallShield制作ASP安装程序(1)

installshield|程序 我现在在做ASP的安装程序,这样可以方便用户的使用.我使用的InstallShield版本是InstallShield Professional-Standard Edition6.3.我没有用过这个东东,问题如下: 问题一 通过Project Wizard-generated script 做好了COPY打包工作.可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包的Script脚本就是通过两个Fuction实现的.所以

使用InstallShield制作ASP安装程序(1)

我现在在做ASP的安装程序,这样可以方便用户的使用.我使用的InstallShield版本是InstallShield Professional-Standard Edition6.3.  我没有用过这个东东,问题如下: 问题一   通过Project Wizard-generated script 做好了COPY打包工作.可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包的Script脚本就是通过两个Fuction实现的.所以我的脚本加不进去,除非在这