原文:Advanced Installer 制作.NetWeb部署安装包

因为是.Net的Web应用程序,所以想用Advanced Installer 调用Dll实现安装部署。

因为我需要自己定制参数,包括数据库服务器和数据库名称等,我需要建立一个企业版的项目工程。

建立完毕,产品参数设置好了之后,就转到【用户界面】-》【对话框】。

在【首次安装】目录下新建一个对话框:

                            【图1.1】

编辑对话框,如【图1.1】,我在这里将数据库服务器文本框属性名设置为:DBSERVERNAME    如【图1.2】

              【图1.2】

我们就可以将属性名称作为参数标识。各个文本框属性名称设置好,我找到【工程细节】-》【自定义操作】

在【安装执行顺序】里面有一个节点【Install】,右击【Install】,选择【添加预定义自定义操作】下的【.Net Installer类操作】

【.Net Installer类操作】DLL的制作将稍后介绍。

        【图1.3】

我看见如【图1.4】的默认设置。

        【图1.4】

其中“操作数据”是重点!!这些数据将被dotNetCusAct.dll调用。

单击“操作数据”后面的小按钮,弹出【编辑.Net自定义操作】对话框

        【图1.5】

Installer类参数的设置是重点,设置错误,将无法安装。

如”target-》[APPDIR]\“ 这个斜杠是必须的,[APPDIR]是安装路径属性名,我前面提到的属性名称在这里就能排上用场了。

如“DbServerName-》[DBSERVERNAME]”普通的属性不加“\”!

在.Net类库中可以用语句“Context.Parameters["DbServerName"]“来获取参数值。

【.Net Installer类操作】DLL的制作

至此,安装设置就完成了。下面的工作就交给.Net。

在VS中建立动态库,在项目在添加【安装程序类】见如下代码:

using System.Collections;using System.ComponentModel;using System.Configuration.Install;namespace WebSetupLibrary{    [RunInstaller(true)]    public partial class MyInstaller : Installer    {        public MyInstaller()        {            InitializeComponent();        }        #region Install 安装        public override void Install(IDictionary stateSaver)        {            base.Install(stateSaver);            Parameters paramters = new Parameters() {                DbServer = this.Context.Parameters["DbServer"].ToString(),                DbName = this.Context.Parameters["DbName"].ToString(),                IISWebName = this.Context.Parameters["iisWebName"].ToString(),                User = this.Context.Parameters["UserName"].ToString(),                Pwd = this.Context.Parameters["Password"].ToString(),                Port = this.Context.Parameters["Port"].ToString(),                Target = this.Context.Parameters["target"].ToString(),                ValidateOption = this.Context.Parameters["ValidateOption"].ToString(),                Videolivedir = this.Context.Parameters["VideoLiveDir"].ToString()            };            Operators o = new Operators();            o.RegisterParamers(paramters);            o.FlashMediaServerSetting();            o.DataBaseSetting();            o.WebSiteSetting();            o.RegistryKeySetting();        }        #endregion    }}

有两个是必须的:

1.  [RunInstaller(true)]的值必须为true

2.必须继承Installer类,重写Install方法

我这里只是做了安装过程, 所以只是重写了Install方法,如要UnInstall,就可以重新UnInstall方法。

Advanced Installer 制作.NetWeb部署安装包的更多相关文章

  1. Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

    原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...

  2. C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.confi ...

  3. 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起 ...

  4. 制作部署安装包:Inno Setup

    制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发.部署有提到用VS开发一个简单的VSTO程序.打包C/S程序,我首先想到的是VS里自带的Setup Project ...

  5. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  6. C# 制作Windows服务安装包

    C# 制作Windows服务安装包   这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做 ...

  7. IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权

    原文:IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权 上一篇: IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权本文经原作者特许授权于海洋女神发布,转载请务必注 ...

  8. 制作linux内核安装包

    实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件  ...

  9. NSIS:制作软件升级安装包

    原文 NSIS:制作软件升级安装包 相信不是每个人写的软件都只发布一次就可以了,肯定要有修改和维护的情况发生.在这种情况下,您可能就需要一个软件的升级安装包了.   现在,我们就来一步步把这个安装包做 ...

随机推荐

  1. android升级软件版本号,您安装后的新版本号,成功安装画面没有出现,或直接回到桌面

    Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //an ...

  2. 假防病毒软件从电脑移植到了 Android 平台

    以前有位女研究生点击网络钓鱼的链接.随即出现实时扫毒画面的方式,接着呈现了扫毒结果,跑出十余笔病毒数据,记录了被感染的计算机的具体位置,并提示她必须更新防病毒软件,而她在付费两千元后收到"防 ...

  3. UBUNTU12.04下安装配置体验gnome3

    年. ubuntu12.04默认采用unity界面,但是自己更加喜欢gnome3的操作方式. 安装gnome3: sudo apt-get install  gnome-shell 其实安装成功后,注 ...

  4. 匿名方法,Lambda表达式,高阶函数

    原文:匿名方法,Lambda表达式,高阶函数 匿名方法 c#2.0引入匿名方法,不必创建单独的方法,因此减少了所需的编码系统开销. 常用于将委托和匿名方法关联,例如1. 使用委托和方法关联: this ...

  5. Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor

    1.错误描写叙述 信息: Setting autowire strategy to name 2014-7-13 1:37:43 org.apache.struts2.spring.StrutsSpr ...

  6. rac安装grid报INS-41112错误

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  7. 返璞归真 asp.net mvc (3) - Controller/Action

    原文:返璞归真 asp.net mvc (3) - Controller/Action [索引页] [源码下载] 返璞归真 asp.net mvc (3) - Controller/Action 作者 ...

  8. Directx11学习笔记【三】 第一个D3D11程序

    在先前的解决方案中新建一个新的Win32项目FirstD3D11Demo.在写代码之前,我们必须先添加dx11所需要的库.为了链接dx库,右键项目选择属性->vc++目录,在包含目录中添加你所安 ...

  9. 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

    内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...

  10. Java 解析 lnk 快捷方式文件的方法(转)

    package file.extendsion; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.F ...