天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ASP.NET 項目安裝包制作(三)補充說明

  相關文章:ASP.NET項目安裝包制作 、ASP.NET 項目安裝包制作(二)數據庫安裝、其他組件的安裝

  一、 安裝標題

  按照前面的做法中,在安裝過程中,如下圖:

image

  安裝的標題是HxjWebSteup,這樣的標題和產品名稱顯然是無法再實際項目中使用的。

  這里我們需要通過設置安裝項目的屬性來設置一下就可以,選中HxjWebSetup項目按F4出來屬性窗口,這個和右擊項目屬性是不一樣的。如下圖:

image

  我們修改一下ProductName這個屬性,變成Steven hu ProductName,我們再來看看安裝過程,如下圖:

image

  我們想要的效果已經達到了,安裝標題和產品名稱都已經修改。

  二、附加數據庫

  在第二節中有提到可以使用直接附加數據庫文件的形式來完成我們項目數據庫的創建安裝。其實我們平時經常使用企業管理器來附加數據庫,當然我們也可以執行數據庫的系統存儲過程來完成該項操作。

  sp_attach_db 存儲過稱,我們首先來看一下幫助文檔中解釋;

  sp_attach_db

  將數據庫附加到服務器。語法:

  sp_attach_db [ @dbname = ] 'dbname' 

  , [ @filename1 = ] 'filename_n' [ ,...16 ]

  參數

  [@dbname =] 'dbname'

  要附加到服務器的數據庫的名稱。該名稱必須是唯一的。dbname 的數據類型為 sysname,默認值為 NULL。

  [@filename1 =] 'filename_n'

  數據庫文件的物理名稱,包括路徑。filename_n 的數據類型為 nvarchar(260),默認值為 NULL。最多可以指定 16 個文件名。參數名稱以 @filename1 開始,遞增到 @filename16。文件名列表至少必須包括主文件,主文件包含指向數據庫中其它文件的系統表。該列表還必須包括數據庫分離后所有被移動的文件。

  下面我們來具體實現一下,首先將數據庫文件放到web項目app_data文件夾下,如下圖:

image

  接下來,修改安裝類中的代碼,如下:

/// <summary>
///
安裝
/// </summary>
/// <param name="stateSaver"></param>
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);

string connectionString = GetConnectionString(null);

try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();

string sql = "sp_attach_db 'HxjDB','" + Context.Parameters["targetdir"].ToString() + "App_Data/HxjDB_Data.MDF','"
+ Context.Parameters["targetdir"].ToString() + "App_Data/HxjDB_Log.LDF'";

ExecuteSQL(connection, sql);

//ExecuteSQL(connection, GetResource("createdatabase.sql"));

}
}
catch (Exception ex)
{
MessageBox.Show("數據庫安裝失敗!/n數據庫配置有誤,請正確配置信息!/n" + ex.Message, "出錯啦!");

this.Rollback(stateSaver);
}
}

  其他沒有改變,然后就重新打包。然后安裝,在web項目下的數據庫就會被附加上去。

  三、卸載

  在示例中的做法在安裝的時候是沒有問題的,在卸載或者修復的時候,

/// <summary>
///
獲取數據庫登錄連接字符串
/// </summary>
/// <param name="databasename">
數據庫名稱</param>
/// <returns></returns>
private string GetConnectionString(string databasename)
{
return "server=" + Context.Parameters["server"].ToString() + ";database=" + (string.IsNullOrEmpty(databasename) ? "master" : databasename) + ";User ID=" + Context.Parameters["user"].ToString() + ";Password=" + Context.Parameters["pwd"].ToString();
}

  這里是無法獲取正確的鏈接字符串,Context.Parameters["server"] 這些都已經不存在了,所以要想在卸載和修復的時候都可以用,則需要在安裝的時候保存連接字符串。

  保存的位置和方式可根據自己的喜好存儲,畢竟連接字符串不是機密,自己方便自己就好了。要想卸載的時候執行UnInstall方法,需要在安裝項目中自定義操作中的卸載添加HxjDBInstall。如下圖:

image

NET技術ASP.NET 項目安裝包制作(三)補充說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产成人欧美日韩在线电影 | 久久久精品3d动漫一区二区三区 | 成年人视频在线免费 | 啪啪羞羞GIF男女0OXX动态图 | 久久精品亚洲 | 中文字幕高清在线中文字幕 | 久久理伦片琪琪电影院 | 最近2019中文字幕免费 | 亚洲精品中文字幕制 | 青青草伊人 | 99久久国产免费福利 | 国产乱人精品视频AV麻豆 | 亚洲AV无码国产精品色午夜情 | 日韩欧美1区 | 翁止熄痒禁伦短文合集免费视频 | 无遮掩H黄纯肉动漫在线观看星 | 哺乳溢出羽月希中文字幕 | 欧洲人交xxx69 | 欧美亚洲高清国产 | 欧美性黑吊xxx | 老师的玉足高跟鞋满足我 | china18一19 第一次 | 一本之道高清视频在线观看 | 肉动漫3D卡通无修在线播放 | 全免费a级毛片免费看 | 国产成人女人视频在线观看 | 亚洲高清无码在线 视频 | 精品国产乱码久久久久乱码 | 伊人影院综合 | 欲香欲色天天天综合和网 | 亚洲午夜性春猛交XXXX | 国产人妻XXXX精品HD电影 | www.av色| 和尚扒开双腿蹂躏 | 老色哥网站| 色婷婷欧美在线播放内射 | 日本高清天码一区在线播放 | 欧美午夜理伦三级在线观看 | 亚洲精品天堂在线观看 | 快播黄色电影 | 公主纯肉高H文 |