700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Advanced Installer 制作.NetWeb部署安装包

Advanced Installer 制作.NetWeb部署安装包

时间:2021-01-15 05:43:46

相关推荐

Advanced Installer 制作.NetWeb部署安装包

Advanced Installer 制作.NetWeb部署安装包 原文: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中建立动态库,在项目在添加【安装程序类】见如下代码:

usingSystem.Collections;

ponentModel;

usingSystem.Configuration.Install;

namespaceWebSetupLibrary

{

[RunInstaller(true)]

publicpartialclassMyInstaller:Installer

{

publicMyInstaller()

{

InitializeComponent();

}

#regionInstall安装

publicoverridevoidInstall(IDictionarystateSaver)

{

base.Install(stateSaver);

Parametersparamters=newParameters(){

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()

};

Operatorso=newOperators();

o.RegisterParamers(paramters);

o.FlashMediaServerSetting();

o.DataBaseSetting();

o.WebSiteSetting();

o.RegistryKeySetting();

}

#endregion

}

}

有两个是必须的:

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

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

我这里只是做了安装过程, 所以只是重写了Install方法,如要UnInstall,就可以重新UnInstall方法。posted on -04-10 23:05 NET未来之路 阅读(...) 评论(...) 编辑 收藏

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。