C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
前言:大过年的,写篇文章不容易,还是给自己点个赞~~年前找了下.net安装包的制作方法,发现Visual Studio自带的制作工具使用起来非常麻烦,需要单独下载安装包,并且什么激活认证等等屁事相当麻烦,最坑爹的是它的自定义dialog使用起来有很多的局限性,所以找了很久,终于找到了Advanced Installer。摸索了两天,算是掌握了一些基本的方法,在此做个记录。相信对于需要使用的园友来说绝对是干货,不信可以看看。
本文原创地址:http://www.cnblogs.com/landeanfen/p/6359156.html
一、基础用法
关于Advanced Installer的基础用法,网上真的是可以搜到太多,博主就不做过多描述,由于要用到自定义安装包的过程,需要新建dialog,博主用了破解版的企业模板,Advanced Installer的版本是13.5。
首先新建模板里面选择Enterprise。

需要设置的几个关键点如下:
添加安装包的文件和文件夹

如果是Web安装包,需要设置IIS的相关信息,这个网上非常多的资料,不做过多说明。

自定义dialog,注意这里必须要是企业版的模板才有这个功能。


二、设置IIS网站的网站名、IP、端口号
如果仅仅是上述这些东西,本文是没有太大价值的。以上只是铺垫,下面才是本文要说的重点。
可以自定义dialog,动态配置IIS的网站名、绑定IP、端口。
1、新建dialog,拖出安装过程中dialog的外观,相信有winform经验的我们来说,这个再简单不过了。比如下面的效果:

记住各个文本框的属性名,比如这里的网站名称对应的文本框的属性名为EDIT_2_PROP_1。

我们暂且记住这个属性名,来到IIS选项卡里面,我们这么配置:

原来,在Advanced Installer里面,使用中括号[]将控件的属性名括起来表示变量的概念,这点对于咱们程序员来说应该不难理解。这么说是不是很好理解了呢~~然后,我们用同样的方法设置IIS网站的绑定IP和端口号。


这样设置之后,我们在安装过程中就可以去动态配置IIS的网站名、IP、端口。就是这么简单,是不是很神奇~~
三、动态配置Web.config
在安装过程中,我们最常配置的还有Web.config配置文件,在Advanced Installer里面可以方便的配置xml文件。赶快来看看吧。
首先看看Web.config里面的内容。

在添加文件的时候,如果我们添加的文件类型是xml,Advanced Installer会提示你是否转成可配置的xml。比如我们在Web.config文件上面右键,选择Properties。


再来看看这里的[EDIT_1_PROP]是哪里来的。

有了上文的基础,这个应该不难理解了吧。没错,就是通过这种变量的形式去动态配置的。这里只是配置了一个简单的appsetting作为示例,可能实际环境中使用最多的就是动态去配置connectionstring了,如果有兴趣可以试试,和以上的步骤基本相似。当然,之前在园子里看到一个通过自定义dll去配置web.config的示例,略显麻烦。还是这样简单。
做了这些准备工作之后,我们的安装包基本就做完了。编译运行之后,经过一步一步傻瓜式的安装之后,即可动态去配置这些东西,不信你试试~~
四、总结
以上通过简单的一个实例配置了一下IIS和Web.config,有时间可以进一步介绍下通过dll的方式操作界面的控件的方法。
如果你觉得本文能够帮助你,可以右边随意 打赏 博主,也可以 推荐 进行精神鼓励。你的支持是博主继续坚持的不懈动力。
本文原创出处:http://www.cnblogs.com/landeanfen/
欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利
C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)的更多相关文章
- C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.confi ...
- 最近上传图片上传文件报413错误及仅Https下报413问题,IIS高版本的配置方案及Web.config配置全解
IIS文件上传大小限制30M,C盘中有的IIS_schema.xml文件 C:\Windows\System32\inetsrv\config\schema\ 但是考虑到安全等问题,而且这个文件默认是 ...
- 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起 ...
- 使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
前言:大过年的,写篇文章不容易,还是给自己点个赞~~年前找了下.net安装包的制作方法,发现Visual Studio自带的制作工具使用起来非常麻烦,需要单独下载安装包,并且什么激活认证等等屁事相当麻 ...
- 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解
关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Advanced Installer 制作.NetWeb部署安装包
原文:Advanced Installer 制作.NetWeb部署安装包 因为是.Net的Web应用程序,所以想用Advanced Installer 调用Dll实现安装部署. 因为我需要自己定制参数 ...
- 使用Qt Installer Framework制作软件安装包
概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作 ...
- DevExpress控件库 开发使用经验总结3 制作项目安装包
2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使 ...
- 使用WinRar软件制作程序安装包
之前我写过使用好压软件打包程序,见随笔: 使用好压(HaoZip)软件打包EverEdit制作安装程序 - Fetty - 博客园http://www.cnblogs.com/fetty/p/4907 ...
随机推荐
- Sublime 2 配置
在队友的推荐下,爱上了这款神一样的文本编辑器,熟练之后编辑效率真心是大幅提升啊. 一.Package Control Sublime拥有很强大的插件功能,而自带的缺少个管理工具,这个包可以用来很方便地 ...
- andorid之摄像头驱动流程--MTK平台
原文地址:andorid之摄像头驱动流程--MTK平台 作者:守候心田 camera成像原理: 景物通过镜头生产光学图像投射到sensor表面上,然后转为模拟电信号,经过数模变成数字图像信号,在经过D ...
- CSS-学习笔记六
1. 自适应,响应式布局 2. pure 3. Animate
- /bin/sh 与 /bin/bash 的区别
/bin/sh 与 /bin/bash 的区别,用 : 截取字符串不是POSIX 标准的. 区别 sh 一般设成 bash 的软链 (symlink) ls -l /bin/sh lrwxrwxrwx ...
- 控制流之if
if语句if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ), 否则 我们处理另外一块语句(称为 else-块 ). else 从句是可选的. ~~~~~~~~~~~~~~ ...
- Zipf’s Law
Let f(w) be the frequency of a word w in free text. Suppose that all the words of a text are ranked ...
- (简单) POJ 2387 Til the Cows Come Home,Dijkstra。
Description Bessie is out in the field and wants to get back to the barn to get as much sleep as pos ...
- 系统里有Courier New字体 Eclipse没有这个字体选项
问题状态: 系统里有Courier New字体 Eclipse没有这个字体选项问题原因: windows(xp)中的系统字体分为"显示"和"隐藏"两种状态,当为 ...
- LPC1788的spi使用
#ifndef __SPI_H_ #define __SPI_H_ #include "common.h" #include "delay.h" // cs p ...
- linux获得目录下文件个数
获得当前目录下文件个数赋值给变量panonum: panonum=$(ls -l |grep "^-" | wc -l) 获取指定目录下文件个数赋值给指定变量: panonum=$ ...