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

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在线观看 | 香蕉视频网站在线播放 | 亚洲欧美不卡 | 亚洲婷婷综合中文字幕第一页 | 国产成人精品免费视频大 | 特级a毛片 | 香蕉国产人午夜视频在线观看 | 久久久久久影院 | 一区一区三区产品乱码 | 一区二区三区中文字幕 | 亚洲成a人片在线观看www | 国产97公开成人免费视频 | 天天舔天天 | 草久在线 | 日本成本人在线观看免费视频 | 国产激情一区二区三区四区 | 久久久久免费精品视频 | 久久久免费观成人影院 | 天天弄天天干 | 天天舔天天舔 | 日韩有码在线播放 | 久久亚 | 国产一级一片免费播放 | 亚洲国产成人资源在线桃色 | 第一福利在线观看永久视频 | 欧美日韩亚洲综合 | 久久久久夜色精品波多野结衣 | 91尤物在线播放 | 国产一国产一级毛片视频在线 | 999视频在线播放777 | 伊人婷婷色香五月综合缴缴情 | 正在播放国产精品 | 成人一级黄色片 | 97伦理| 久久福利资源国产精品999 | 欧美精品一区二区在线观看 | 精品一区二区三区色花堂 |