日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

Advanced Installer 制作.NetWeb部署安装包

發(fā)布時(shí)間:2025/7/25 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Advanced Installer 制作.NetWeb部署安装包 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Advanced Installer 制作.NetWeb部署安裝包 原文:Advanced Installer 制作.NetWeb部署安裝包

因?yàn)槭?Net的Web應(yīng)用程序,所以想用Advanced Installer 調(diào)用Dll實(shí)現(xiàn)安裝部署。

因?yàn)槲倚枰约憾ㄖ茀?shù),包括數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)名稱等,我需要建立一個(gè)企業(yè)版的項(xiàng)目工程。

?建立完畢,產(chǎn)品參數(shù)設(shè)置好了之后,就轉(zhuǎn)到【用戶界面】-》【對(duì)話框】。

在【首次安裝】目錄下新建一個(gè)對(duì)話框:

?                            【圖1.1】

編輯對(duì)話框,如【圖1.1】,我在這里將數(shù)據(jù)庫(kù)服務(wù)器文本框?qū)傩悦O(shè)置為:DBSERVERNAME??? 如【圖1.2】

?

?

?              【圖1.2】

?我們就可以將屬性名稱作為參數(shù)標(biāo)識(shí)。各個(gè)文本框?qū)傩悦Q設(shè)置好,我找到【工程細(xì)節(jié)】-》【自定義操作】

在【安裝執(zhí)行順序】里面有一個(gè)節(jié)點(diǎn)【Install】,右擊【Install】,選擇【添加預(yù)定義自定義操作】下的【.Net Installer類操作】

【.Net Installer類操作】DLL的制作將稍后介紹。

?

?

?        【圖1.3】

?

?我看見(jiàn)如【圖1.4】的默認(rèn)設(shè)置。

?

?

?        【圖1.4】

?其中“操作數(shù)據(jù)”是重點(diǎn)!!這些數(shù)據(jù)將被dotNetCusAct.dll調(diào)用。

?單擊“操作數(shù)據(jù)”后面的小按鈕,彈出【編輯.Net自定義操作】對(duì)話框

?

?        【圖1.5】

Installer類參數(shù)的設(shè)置是重點(diǎn),設(shè)置錯(cuò)誤,將無(wú)法安裝。

如”target-》[APPDIR]\“ 這個(gè)斜杠是必須的,[APPDIR]是安裝路徑屬性名,我前面提到的屬性名稱在這里就能排上用場(chǎng)了。

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

在.Net類庫(kù)中可以用語(yǔ)句“Context.Parameters["DbServerName"]“來(lái)獲取參數(shù)值。

?

?

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

至此,安裝設(shè)置就完成了。下面的工作就交給.Net。

?

在VS中建立動(dòng)態(tài)庫(kù),在項(xiàng)目在添加【安裝程序類】見(jiàn)如下代碼:

?

?

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
????}
}

?

有兩個(gè)是必須的:

1. ?[RunInstaller(true)]的值必須為true

2.必須繼承Installer類,重寫Install方法

?

我這里只是做了安裝過(guò)程, 所以只是重寫了Install方法,如要UnInstall,就可以重新UnInstall方法。

?

?

posted on 2014-04-10 23:05 NET未來(lái)之路 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/lonelyxmas/p/3657648.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Advanced Installer 制作.NetWeb部署安装包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。