C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)

Posted 懒得安分

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#进阶系列——WebApi 异常处理解决方案

C#进阶系列——WebApi 传参详解

C#进阶系列——WebApi 接口参数不再困惑:传参详解

C#进阶系列16 委托

C#进阶系列——WebApi接口返回值类型详解

C#进阶系列00 序