亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL數據庫的打包部署安裝

系統 2215 0
本文轉自: http://www.cnitblog.com/eastperson/archive/2007/01/18/22018.html

目的:在客戶端服務器上”附加數據庫文件”。
一).創建部署項目
1. 打開VS.NET2005。
2.在“文件”菜單上指向“新建項目”。
3. 在“新建項目”對話框中,選擇“項目類型”窗格中的”其他項目類型”中的“安裝和部署”,然后選擇“模板”窗格中的“安裝項目”。在“名稱”框中鍵入 Setup1。
4. 單擊“確定”關閉對話框。
5. 項目被添加到解決方案資源管理器中,并且文件系統編輯器打開。如下圖所示:
SQL數據庫的打包部署安裝
6. 在“屬性”窗口中,選擇 ProductName 屬性,并鍵入 數據庫打包安裝。
二).創建安裝程序類
1. 在“解決方案資源管理器”中的”解決方Setup1”上右鍵選擇”添加”后選擇“新建項目”。
2. 在“添加新項目”對話框中,選擇“項目類型”窗格中的“Visual C#”下的”Windows”,然后選擇“模板”窗格中的“類庫”。在“名稱”框中鍵入 InstallDB。
3. 單擊“確定”關閉對話框。
4. 從“InstallDB”類庫下右鍵選擇”添加”中的”新建項”。
5. 在“添加新項”對話框中選擇“安裝程序類”。在“名稱”框中鍵入 InstallDB。
6. 單擊“添加”關閉對話框。
7. “InstallDB”安裝程序類詳細代碼附后。
如下圖所示:
SQL數據庫的打包部署安裝
三).創建自定義安裝對話框
1. 在解決方案資源管理器中選擇“setup1”項目。右鍵然后在“視圖”菜單上選擇“用戶界面”。
2. 在用戶界面編輯器中,選擇“安裝”下的“啟動”節點選擇“添加對話框”。
3 在“添加對話框”對話框中,選擇“文本框 (A)”對話框,然后單擊“確定”關閉對話框。
4. 在“文本框 (A)”右鍵菜單上,選擇“上移”。重復此步驟,直到“文本框 (A)”對話框位于“安裝文件夾”節點之上。
5 在“文本框 (A)”的“屬性”窗口中,選擇 BannerText 屬性并鍵入:安裝數據庫。
6. 選擇 BodyText 屬性并鍵入:安裝程序將在目標機器上安裝數據庫。
7. 選擇 Edit1Label 屬性并鍵入:數據庫名稱:
8 選擇 Edit1Property 屬性并鍵入 DBNAME
9. 選擇 Edit1Value 屬性并鍵入: budgetSysDB
10. 選擇 Edit2Label 屬性并鍵入:服務器名:
11. 選擇 Edit2Property 屬性并鍵入 SERVER
12. 選擇 Edit2Value 屬性并鍵入:(local)
13. 選擇 Edit3Label 屬性并鍵入:用戶名:
13. 選擇 Edit3Value 屬性并鍵入:sa
15. 選擇 Edit3Property 屬性并鍵入 USER
16. 選擇 Edit4Label 屬性并鍵入:密碼:
18. 選擇 Edit4Property 屬性并鍵入 PWD
19. 選擇Edit2Visible 屬性,設置為 false;選擇Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,并將它們設置為 true
SQL數據庫的打包部署安裝
四).創建自定義操作
1. 在解決方案資源管理器中選擇“setup1”項目,右鍵在“視圖”菜單上選擇“自定義操作”。
2. 在自定義操作編輯器中選擇“安裝”節點。右鍵選擇“添加自定義操作”。
3. 在“選擇項目中的項”對話框中,雙擊“應用程序文件夾”。
4. 單擊”添加輸出”按鈕選擇”項目”中的” InstallDB”,在下面框中選擇”主輸出”(此項一般為默認),然后單擊“確定”關閉對話框。
5. 在”主輸出來自InstallDB(活動)的屬性窗口中,選擇 CustomActionData屬性并鍵入:
/dbname=[DBNAME] /server=[SERVER]/user=[USER]/pwd=[PWD]/targetdir="[TARGETDIR]\" ”
附:/targetdir="[TARGETDIR]\"是安裝后的目標路徑,為了在installDB類中獲得安裝后的路徑,我們設置此參數。
?如下圖所示:
SQL數據庫的打包部署安裝
五).添加數據庫文件
1. 在解決方案資源管理器中選擇“Setup1”項目,右鍵在“添加”選擇“文件”。
2.把數據文件”budgetSysDB_Data.MDF”” budgetSysDB_Log.LDF”” budgetDB”添加到” Setup1”。
? 如下圖所示:
SQL數據庫的打包部署安裝
六).”InstallDB”安裝程序類代碼

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

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

????????
private ? void ?CreateDataBase( string ?strSql,? string ?DataName,? string ?strMdf,? string ?strLdf, string ?path, string ?strSql1)
????????
{
????????????
###?附加數據庫

????????????
###新建數據庫用戶的登陸名和密碼(登陸名:ys2006??密碼:zhouhuan965)

????????????
###把用戶安裝路徑存入數據庫
????????}

????????
public ? override ? void ?Install(System.Collections.IDictionary?stateSaver)
????????
{
????????????
string ?server? = ? this .Context.Parameters[ " server " ];
????????????
string ?uid? = ? this .Context.Parameters[ " user " ];
????????????
string ?pwd? = ? this .Context.Parameters[ " pwd " ];
????????????
string ?path? = ? this .Context.Parameters[ " targetdir " ];
????????????
string ?strSql? = ? " server= " ? + ?server? + ? " ;uid= " ? + ?uid? + ? " ;?pwd= " ? + ?pwd? + ? " ;database=master " ;
????????????
string ?strSql1? = ? " server= " ? + ?server? + ? " ;uid= " ? + ?uid? + ? " ;?pwd= " ? + ?pwd? + ? " ;database=budgetSysDB " ;
????????????
string ?DataName? = ? " budgetSysDB " ;
????????????
string ?strMdf? = ?path? + ? " \\budgetSysDB_Data.MDF " ;? // +?@"\"?+?"+budgetDB1.mdf+";
???????????? string ?strLdf? = ?path? + ? " \\budgetSysDB_Log.LDF " ;? // +@"\"?+?"+budgetDB1.ldf+";
???????????? base .Install(stateSaver);
????????????
this .CreateDataBase(strSql,?DataName,?strMdf,?strLdf,path,strSql1); // 調用上面的方法
????????}

????}

}
====================================================================
本評論轉自: http://blog.csdn.net/lyb_abiandbel/archive/2005/09/05/471672.aspx#477584
CustomActionData 屬性的格式取決于自定義操作的類型。

對于作為安裝組件的自定義操作(ProjectInstaller 類),“CustomActionData”屬性采用 /name=value 形式。其中的每個名稱都必須是唯一的,并且僅有一個值。多個值之間必須用一個空格隔開:/name1=value1 /name2=value2。如果值本身有一個空格,則必須在該值兩側加上引號:/name="a value"。

使用加括號的語法:/name=[PROPERTYNAME],可以傳遞 Windows Installer 屬性。對于像“[TARGETDIR]”這樣返回目錄的 Windows Installer 屬性,除了加括號外,還必須加引號和尾部反斜杠:/name="[TARGETDIR]\"。

注意
為了使自定義操作被視為安裝組件,必須將“InstallerClass”屬性設置為“true”。


對于所有其他自定義操作(.exe、.dll 或腳本)沒有格式要求。可以在 CustomActionData 屬性中傳遞任何字符串,因為您必須自己在自定義操作中對其進行分析。

SQL數據庫的打包部署安裝


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品久久久久久久777 | 大美女久久久久久j久久 | 精品福利在线视频 | 午夜不卡在线 | 欧美亚洲中日韩中文字幕在线 | 亚洲成人在线视频播放 | 国产精品视频久久久 | 久久久噜久噜久久综合 | youjizz欧美粗又大中国 | 久久密| 婷婷色综合久久 | 国产婷婷色一区二区三区 | 性新婚a大黄毛片 | 日本欧美在线视频 | 精品欧美一区二区三区在线观看 | 久久精品这里有 | 四虎新地址| julia中文在线 | 亚洲国产精品久久久久666 | 欧美13一14周岁a在线播放 | 日本熟hd| 在线视频久 | 日本一级毛片不卡免费 | 97看看| 久草免费在线视频观看 | 国产精品在线观看 | 四虎影视在线看免费 720p | 国产精品久久久久久久久久久威 | 日韩亚洲一区中文字幕在线 | 久久精品一区二区影院 | 亚洲日韩精品欧美一区二区一 | 国产人伦视频在线观看 | 九九久久国产精品 | 免费一级特黄视频 | 农村寡妇一级毛片免费看视频 | 欧美在线视频一区二区三区 | 日本久久久久亚洲中字幕 | 黄色片网站在线观看 | 狼人香蕉香蕉在线视频播放 | 国产精品久久毛片蜜月 | 久久精品综合国产二区 |