日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)

發(fā)布時間:2023/11/30 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
站點: 如果新建默認的Web安裝項目,那它將創(chuàng)建的默認網(wǎng)站下的一個虛擬應用程序目錄而不是一個新的站點。故我們只有創(chuàng)建新的安裝項目,而不是Web安裝項目。然后通過安裝類進行自定義操作,創(chuàng)建新站如下圖:

2、創(chuàng)建新的安項目之后,在(文件系統(tǒng)編輯器)里的應用程序文件夾里,添加ASP.net2.0的項目輸出(還有第二種方法是用ASP.NET2.0發(fā)布網(wǎng)站到一個文件夾下面,再把這個文件夾下面所有文件復制粘貼過來,這樣生成的安裝文件,在安裝之后就沒有源代碼文件了,我自己就是這樣做的)如下圖:

圖1下圖的MyPojectSetup項目下已有了Web項目的輸出,以及一個SQL腳本(SQL腳本是通SQL2005生成的,將在安裝類庫里要使用的)

圖2文件系統(tǒng)左邊界面,添加了Web項目輸出

2.2添加完項目輸出之后,需要設置安裝界面。我們的要求是第一、建一個新站點,所以需要所安裝的IIS服務器地址,以及新站點的端口。第二、需要數(shù)據(jù)庫的地址,新建的數(shù)據(jù)庫名稱,以及訪問數(shù)據(jù)庫的用戶名和密碼兩項(需要有創(chuàng)庫權限的)。

如圖1在文件系統(tǒng)編輯器右邊,選擇用戶界面,然后看到如下:

在啟動選擇單擊右擊菜單,添加對話框A,并在對話框A上單擊右鍵=》上移到安裝文件夾的上面:

再次設置右邊屬性,文本框A是站點信息輸入如下信息,其中Edit1Property是一個需要傳入安裝類的參數(shù)。

按照以上方式再添加文本框B并移到文本框A的下面,如下圖所示

注意:如上所示安裝項目基本的事情已經(jīng)做完了,但還有最后一個步驟沒有做,那就是自定義操作,也就安裝的重中之重的事情,安裝類庫的創(chuàng)建,如3點所示。創(chuàng)建安裝類庫之后就需要把它的輸出來添加到安裝項目里如同Web項目,然后設置自定義活動為這個項目就可以,詳情在下面介紹。

3、需要創(chuàng)建一個安裝類庫,里面把Class1.cs刪除,再添加一個新的安裝文件。安裝項目所有的自定義都是在這里用編碼完成的(包括數(shù)據(jù)庫生成,虛擬站點創(chuàng)建,IIS屬性修改,Web.Config文件修改)。也就是說,安裝項目是個外殼,通過創(chuàng)建一些界面接收用戶參數(shù),然后利用這個安裝類庫,提供的功能,進行自己的操作。

?

4、安裝程序類新建之后,雙擊進入代碼狀態(tài),用override重載Install函數(shù)如下所示:

?

using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Configuration.Install;

namespace?MyProjectInstall
{
????[RunInstaller(
true)]
????
public?partial?class?InstallerMySample?:?Installer
????
{
????????
public?InstallerMySample()
????????
{
????????????InitializeComponent();
????????}


????????
public?override?void?Install(System.Collections.IDictionary?stateSaver)
????????
{

????????}

????}

}

?

安裝數(shù)據(jù)庫的代碼如下,其中用了兩種方法,一種是用SQL命令方式創(chuàng)建數(shù)據(jù)庫,另一種是調(diào)用osql命令執(zhí)行腳本,創(chuàng)建數(shù)據(jù)表結構等,最后用命令追加一條記錄.

?

?????數(shù)據(jù)庫操作

?修改Web.Config配置的代碼如下:

?WriteWebConfig?修改web.config的連接數(shù)據(jù)庫的字符串

創(chuàng)建IIS站點的代碼如下(注我也是從網(wǎng)找到的,其中CreateNewWebsit這個方法中我加了IIS參數(shù)設置的代碼,也就是在創(chuàng)建IIS時一并設置了):

注意這一句:string fileName = Environment.GetEnvironmentVariable("windir") + @"/Microsoft.NET/Framework/v2.0.50727/ASPnet_regiis.exe";原因是當你不管是手動還是自動創(chuàng)建一個新站點,在它的屬性頁ASP.NET設置里都會有1.1版和2.0版這個選項,默認是1.1,現(xiàn)在我要部署2.0所以在默認情況下就不能夠一步到位,安裝完就可以訪問執(zhí)行,而要去設置成2.0才行.所以要調(diào)用FrameworkV2.0下的regiis.exe得新注冊一下我們指定的虛擬目錄,使它是2.0.?

using?System;
using?System.DirectoryServices;
using?System.Collections;
using?System.Text.RegularExpressions;
using?System.Text;
using?System.Runtime;
using?System.Diagnostics;
/**
?*?@author?吳海燕
?*?@email??wuhy80-usual@yahoo.com
?*?2004-6-25?第一版
?
*/


namespace?Wuhy.ToolBox
{
????
///?<summary>
????
///??這個類是靜態(tài)類。用來實現(xiàn)管理IIS的基本操作。
????
///??管理IIS有兩種方式,一是ADSI,一是WMI。由于系統(tǒng)限制的原因,只好選擇使用ADSI實現(xiàn)功能。
????
///??這是一個遺憾。只有等到只有使用IIS?6的時候,才有可能使用WMI來管理系統(tǒng)
????
///??不過有一個問題就是,我現(xiàn)在也覺得這樣的一個方法在本地執(zhí)行會比較的好。最好不要遠程執(zhí)行。
????
///??因為那樣需要占用相當數(shù)量的帶寬,即使要遠程執(zhí)行,也是推薦在同一個網(wǎng)段里面執(zhí)行
????
///?</summary>

????public?class?IISAdminLib
????
{
????????
UserName,Password,HostName的定義

????????
根據(jù)路徑構造Entry的方法

????????
添加,刪除網(wǎng)站的方法



????????
Start和Stop網(wǎng)站的方法
????????
????????
確認網(wǎng)站是否相同

????????
獲取一個網(wǎng)站編號的方法????????

????????
獲取新網(wǎng)站id的方法
????}

????
????
新網(wǎng)站信息結構體
}

?

最后重載的InStall函數(shù)如:

?

????public?override?void?Install(IDictionary?stateSaver)
????????
{
????????????
//數(shù)據(jù)庫安裝程序入口
????????????_saPassword?=?this.Context.Parameters["pwd"];
????????????_dataBaseName?
=?this.Context.Parameters["dbname"];
????????????_targetPath?
=?this.Context.Parameters["targetdir"];
????????????_servername?
=?this.Context.Parameters["server"];
????????????_username?
=?this.Context.Parameters["user"];

????????????iis?
=?this.Context.Parameters["iis"];
????????????port?
=?this.Context.Parameters["port"];
????????????
//添加數(shù)據(jù)庫
????????????AddDBTable();

????????????
//注冊新站點????????????
????????????Wuhy.ToolBox.NewWebSiteInfo?siteInfo?=?new?Wuhy.ToolBox.NewWebSiteInfo(string.Empty,?port,?"",?"VideoMeeting",?_targetPath);
????????????Wuhy.ToolBox.IISAdminLib.HostName?
=?iis;
????????????Wuhy.ToolBox.IISAdminLib.UserName?
=?null;???????

????????????Wuhy.ToolBox.IISAdminLib.CreateNewWebSite(siteInfo);

????????????Wuhy.ToolBox.IISAdminLib.StartWebSite(siteInfo.BindString);
????????????
????????????
//修改Web.Config文件
????????????if?(!WriteWebConfig())
????????????
{
????????????????
throw?new?ApplicationException("設置數(shù)據(jù)庫連接字符串時出現(xiàn)錯誤");
????????????}

????????}

總結

以上是生活随笔為你收集整理的VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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