本文转自:
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

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

  1. ic卡写卡 angus_使用Angus更快地构建Web应用程序

    ic卡写卡 angus Nick's outstanding utility, Angus, has changed! Click here to read an updated post! 尼克杰出 ...

  2. 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!

    [CSDN 编者按]"Elixir.Phoenix.Absinthe.GraphQL.React和Apollo"--在这几个关键词中,有几个是身为开发者的你一直想玩但还没来得及玩的 ...

  3. 如何用VS2005制作Web安装程序

    网站完成后,需要部署到目标机器上,方法有很多,直接把文件Copy到目标机器上,执行SQL脚本,配置IIS,这样可以做到:也可以使用InstallShield这样到专业制作软件来打包.本篇文章是使用VS ...

  4. [转]如何用VS2005制作Web安装程序

    本文转自:http://blog.csdn.net/cqfeng/archive/2006/02/17/601506.aspx 原文如下: ------- 网站完成后,需要部署到目标机器上,方法有很多 ...

  5. ScriptManager 帮助您实现 Web 应用程序的 AJAX 功能

    本文讨论: ScriptManager 在 ASP.NET AJAX 中的作用 ScriptManager 的隐式使用和显式使用 ASP.NET AJAX 对 Web 服务的支持 ASP.NET AJ ...

  6. 直角三角形面积Java_利用Eclipse编写第一个简单的Java程序,实现如下功能。 键盘输入:直角三角形两直角边a, b,根据勾股定理计算斜边的平方值。并输出。 例如:运行效果如下...

    kruskal算法对稠密图较为适合 朗读下列城市名字,并与其特色连接起来. C3和C4植物在叶片的解剖构造上由明显的区别,C4植物的维管束鞘有 ,形成 . 感应式电能表的起动电流小于电子式电能表. 美 ...

  7. .NET平台下WEB应用程序的部署(安装数据库和自动配置,启动条件)

    转自:http://blog.csdn.net/lihonggen0/article/details/13654 首先,创建一个安装和部署项目.步骤如下: 1.在 "解决方案资源管理器 &q ...

  8. 《黑客秘笈——渗透测试实用指南》—第2章2.4节Web应用程序的扫描

    本节书摘来自异步社区<黑客秘笈--渗透测试实用指南>一书中的第2章2.4节Web应用程序的扫描,作者[美]Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区"异步社区 ...

  9. Acunetix 简介 为什么需要保护您的 Web 应用程序

    为什么需要保护您的 Web 应用程序 网站安全是当今保护企业最容易被忽视的方面,应该是任何组织的优先事项.黑客越来越多地将精力集中在基于 Web 的应用程序上--购物车.表单.登录页面.动态内容等. ...

  10. 用 Google Gears 增强您的 Web 应用程序

    用 Google Gears 增强您的 Web 应用程序 文档选项 未显示需要 JavaScript 的文档选项 打印本页 将此页作为电子邮件发送 样例代码 2009 年 8 月 20 日 本文将简要 ...

最新文章

  1. 一文看懂BATH新基建:5G是基础,AI是内核
  2. 编程之美-构造数独方法整理
  3. 深度学习基本概念的了解
  4. Java多线程两种实现方式的对比
  5. Python-第一个Python程序
  6. pyqt 把控制台信息显示到_内网渗透初识—信息收集
  7. JVM插桩之一:JVM字节码增强技术介绍及入门示例
  8. 2种图像增强方法:图像点运算和图像灰度化处理
  9. 严格对角占优矩阵特征值_二次型和特征值
  10. 学习OpenCV——OpenMP
  11. Schlumberger Drilling Office v4.0 1CD(综合钻井工程设计软件)
  12. 数据结构-带头双向循环链表
  13. Ansys许可重新配置
  14. Siebel_CRM
  15. 2021年,第一份值得职场人“跪读”的书单来了
  16. 关于鼠标手的症状和恢复方法
  17. vscode配置c/c++编译环境(最终解决办法)
  18. Java 控制反转和依赖注入模式【翻译】【整理】
  19. 智慧高速再“提速”,数字化+智能化成建设焦点
  20. 深入理解 Java 反射:Class (反射的入口)

热门文章

  1. 顶点计划家庭感情冲突问题讨论
  2. #Leetcode# 141. Linked List Cycle
  3. angular 个人零点学习
  4. Json概述以及python对json的相关操作
  5. box-shadow用法;http://riny.net/lab/css3/box-shadow.html
  6. vsftp 配置参数详解
  7. 使用C#创建ActiveX控件(译文)
  8. 大学生必备的几个公众号
  9. 因为梦想 书送远方 《数据化运营》免费领取
  10. dispatcherServlet-servlet.xml(SSM maven 项目)