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方法。

 

 

转载于:https://www.cnblogs.com/alvacc/archive/2009/11/18/Advanced-Installer-dotNet-Web.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值