VB.NET安裝部署一).創(chuàng)建部署項(xiàng)目
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),廈門企業(yè)網(wǎng)站建設(shè),廈門品牌網(wǎng)站建設(shè),網(wǎng)站定制,廈門網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,廈門網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1. 在“文件”菜單上指向“添雹鄭派加項(xiàng)目”,然后選擇“新建項(xiàng)目”。
2. 在“添加新項(xiàng)目”對(duì)話框中,選擇“項(xiàng)目類型”窗格中的“安裝和部署項(xiàng)目”,然后選擇“模板”窗格中的“安裝項(xiàng)目”。在“名稱”框中鍵入 setup1。
3. 單擊“確定”關(guān)閉對(duì)話框。
4. 項(xiàng)目被添加到解決方案資源管理器中,并且文件系統(tǒng)編輯器打開。
5. 在“屬性”窗口中,選擇 ProductName 屬性,并鍵入 信息管理系統(tǒng) 。
VB.NET安裝部署二).將 主程序 項(xiàng)目的輸出添加到部署項(xiàng)目中
1. 在“文件系統(tǒng)編輯器”中,選擇“應(yīng)用程序文件夾”。在“操作”菜單上,指向“添加”,然后選擇“項(xiàng)目輸出”。
2. 在“添加項(xiàng)目輸出組”對(duì)話框中,選擇“項(xiàng)目”下拉列表中的“你的程序”。
3. 單擊“確定”關(guān)閉對(duì)話框。
4. 從列表中選擇“主輸出”和“內(nèi)容文件”組,然后單擊“確定”。
VB.NET安裝部署三).創(chuàng)建安裝程序類
1. 在“文件”菜單上指向“新建”,然后選擇“項(xiàng)目”。
2. 在“新建項(xiàng)目”對(duì)話框中,選擇“項(xiàng)目類型”窗格中的“Visual Basic 項(xiàng)目”,然后選擇“模板”窗格中的“類庫(kù)”。在“名稱”框中鍵入 installDB。
3. 單擊“打開”關(guān)閉對(duì)話框。
4. 從“項(xiàng)目”菜單中選擇“添加新項(xiàng)”。
5. 在“添加新項(xiàng)”對(duì)話框中選擇“安裝程序類”。在“名稱”框中鍵入 installDB。
6. 單擊“確定”關(guān)閉對(duì)話框。
7. 詳細(xì)代碼附后。
VB.NET安裝部署四).創(chuàng)建自定義安裝對(duì)話框
1. 在解決方案資源管理器中選擇“setup1”項(xiàng)目。在“視圖”菜單上指向“編輯器”,然后選擇“用戶界面”。
2. 在用戶界面編輯器中,選擇“安裝”下的“啟動(dòng)”節(jié)點(diǎn)。在叢指“操作”菜單上,選擇“添加對(duì)話框”。
3. 在“添加對(duì)話框”對(duì)話框中,選擇“許可協(xié)議”對(duì)話框,然后單擊“確定”關(guān)閉對(duì)話框。
4. 在“添加對(duì)話框”對(duì)話框中,選擇“文本框 (A)”對(duì)話框,然后單擊“確定”關(guān)閉對(duì)話框。
5. 在“操作”菜單上,選擇“上移”。重復(fù)此步驟,直到“文本框 (A)”對(duì)話框位于“安裝文件夾”節(jié)點(diǎn)之上。
6. 在“屬性”窗口中,選擇 BannerText 屬性并鍵入:安裝數(shù)據(jù)庫(kù).
7. 選擇 BodyText 屬性并鍵入:安裝程序?qū)⒃谀繕?biāo)機(jī)器上安裝數(shù)據(jù)庫(kù)
8. 選擇 Edit1Label 屬性并鍵入:數(shù)據(jù)庫(kù)名稱:
9. 選擇 Edit1Property 屬性并鍵入 CUSTOMTEXTA1
10. 選擇 Edit1Value 屬性并鍵入:dbservers
11. 選擇 Edit2Label 屬性并鍵入:服務(wù)器名:
12. 選擇 Edit2Property 屬性并鍵入 CUSTOMTEXTA2
13. 選擇源賀 Edit2Value 屬性并鍵入:(local)
14. 選擇 Edit3Label 屬性并鍵入:用戶名:
15. 選擇 Edit3Value 屬性并鍵入:sa
16. 選擇 Edit3Property 屬性并鍵入 CUSTOMTEXTA3
17. 選擇 Edit4Label 屬性并鍵入:密碼:
18. 選擇 Edit4Property 屬性并鍵入 CUSTOMTEXTA4
19. 選擇 Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,并將它們?cè)O(shè)置為 true
VB.NET安裝部署五).創(chuàng)建自定義操作
1. 在解決方案資源管理器中選擇“setup1”項(xiàng)目。在“視圖”菜單上指向“編輯器”,然后選擇“自定義操作”。
2. 在自定義操作編輯器中選擇“安裝”節(jié)點(diǎn)。在“操作”菜單上,選擇“添加自定義操作”。
3. 在“選擇項(xiàng)目中的項(xiàng)”對(duì)話框中,雙擊“應(yīng)用程序文件夾”。
4. 選擇“主輸出來(lái)自 installDB(活動(dòng))”項(xiàng),然后單擊“確定”關(guān)閉對(duì)話框。
5. 在“屬性”窗口中,選擇 CustomActionData 屬性并鍵入“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]/"”。
附:/targetdir="[TARGETDIR]/"是安裝后的目標(biāo)路徑,為了在installDB類中獲得安裝后的路徑,我們?cè)O(shè)置此參數(shù)。
VB.NET安裝部署六).添加文件
1. 將SQL Server備份成文件DB.dat添加到“setup1”項(xiàng)目(在企業(yè)管理器中右擊數(shù)據(jù)庫(kù)-所有工作-備份數(shù)據(jù)庫(kù),備份成一個(gè)文件,取名為DB.dat)
2. 將安裝文件LisenceFile.rtf添加到“setup1”項(xiàng)目
3. 在用戶界面編輯器中,選擇許可協(xié)議,設(shè)置LisenceFile屬性為L(zhǎng)isenceFile.rtf文件
4.一般會(huì)自動(dòng)將依賴項(xiàng)添加到“檢測(cè)到的依賴項(xiàng)”,如果沒有,那么我們要手動(dòng)將其加入步驟5)
Crystal_Managed2003.msm
(如果有水晶報(bào)表)
dotnetfxredist_x86.msm
(點(diǎn)虐 一定是必須的)
... (如果有引用其他的dll)
5.如果使用了水晶報(bào)表,手動(dòng)加入要包含的文件:項(xiàng)目--添加--合并模塊(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:/Program Files/Common Files/Merge Modules/ 下,*為必要的
具體功能如下:
(托管組件 MSM 處理所有托管組件的分發(fā),其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(對(duì)于使報(bào)表運(yùn)行所需的所有其他文件,由數(shù)據(jù)庫(kù)訪問 MSM 處理其分發(fā)。其中包括數(shù)據(jù)庫(kù)、導(dǎo)出和圖表驅(qū)動(dòng)程序。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 處理 Crystal Decisions 密鑰號(hào)碼的安裝,注意是添加合并模塊,否則沒有“MergeMouduleProperties”屬性)
* Crystal_regwiz2003.msm
(如果報(bào)表文件使用了 ADO.NET 的 dataset 數(shù)據(jù)集對(duì)象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模塊也必須包含在安裝工程中。而且這兩個(gè)模塊的文件安裝屬性的"Module Retargetable Folder"項(xiàng)必須修改成為系統(tǒng)目錄)
VC_User_CRT71_RTL_X86_---.msm VC_User_STL71_RTL_X86_---.msm
(很多人經(jīng)常出現(xiàn)查詢錯(cuò)誤,不妨加上這個(gè))
6.打開解決方案--右鍵點(diǎn)擊Crystal_regwiz2003.msm的屬性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(這個(gè)是你生成Crystal Report是用到的注冊(cè)號(hào)的密碼?。?/p>
VB.NET安裝部署七).打包時(shí)加入卸載功能:
方法一:
1.在打包項(xiàng)目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)
2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為"卸載".
3.更改此快捷方式的Arguments 為"/x {產(chǎn)品id}",產(chǎn)品id的值為打包項(xiàng)目的ProductCode屬性值.
方法二:(推薦)
1.先生成安裝包,記下ProductCode(選擇解決方案資源管理器根目錄如setup1,再查看屬性標(biāo)簽,不是右鍵中的屬性),下面要用到
2.用VS點(diǎn)虐 建立一個(gè)新的控制臺(tái)程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process =
New Process
If System.Environment.OSVersion.
ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X
{2B65D4A9-C146-4808-AB4B-321F
B0779559}") '改為自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3.將控制臺(tái)程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式
VB.NET安裝部署八).打包時(shí)加入點(diǎn)虐 環(huán)境和MDAC功能:
把MS的PluginInstaller.msi插件裝上后,用vb點(diǎn)虐 的自帶的打包工具打包,就會(huì)自動(dòng)把點(diǎn)虐 framework環(huán)境打進(jìn)去,再下面的步驟進(jìn)行設(shè)置,就可以把MDAC也打包.使用 Setup 項(xiàng)目安裝 MDAC
1.確保 Visual Studio .NET 框架引導(dǎo)程序插件已安裝。
2.在 Solution Explorer 中選擇 Setup 項(xiàng)目。從 View 菜單指向 Editor,并選擇 Launch Conditions(啟動(dòng)條件)。
3.選擇 Requirements on Target Machine(搜索目標(biāo)計(jì)算機(jī)) 節(jié)點(diǎn)。從 Action 菜單,選擇 Add Registry Launch Condition(添加注冊(cè)表搜索)。
4.選擇 Search for RegistryEntry1 節(jié)點(diǎn)。在 Properties 窗口中,選擇 RegKey 屬性,并鍵入 Software/Microsoft/DataAccess。
5.選擇 Root 屬性,并選擇 vsdrrHKLM。
6.選擇 Value 屬性,并鍵入 FullInstallVer。
7.選擇 Property 屬性,并鍵入 MDACSEARCH。
8.在 Launch Conditions Editor(啟動(dòng)條件) 中,添加Condition1 節(jié)點(diǎn)。選擇 Condition1 節(jié)點(diǎn),在 Properties 窗口中,選擇 Condition 屬性,并選擇 MDACSEARCH="2.6"。
9.在 Solution Explorer 中選擇 Setup 項(xiàng)目。在 Project 菜單上,選擇 Properties。
10.將 Bootstrapper 屬性設(shè)置為 Windows Installer Bootstrapper(Windows 安裝引導(dǎo)程序)。
步驟一:打開需要制作安裝程序的VB.Net項(xiàng)目
點(diǎn)擊菜單【文件—新建項(xiàng)目】出現(xiàn)如圖01的對(duì)話滑歲御框單擊【其他項(xiàng)目類型—安裝和部署】選擇【安裝項(xiàng)目】如圖:
步驟二:
雙擊【My Project】(在“解決方案資源管理器”里面呢),如圖所示。
步驟三3:?jiǎn)涡艓r擊【引用】選項(xiàng)卡,查看解決方案的引用項(xiàng),關(guān)注一下.Net類型的引用,本解決方案引用.Net類型的版本是2.0版。查看這個(gè)信息直接關(guān)系到最終安裝文件的大小。
右鍵單擊“解決方案資源管理器”中【Setup1】,選擇【添加—項(xiàng)目輸出】,選擇“主輸出”后單擊【確定】。
再次右鍵點(diǎn)擊【Setup1】,選擇【屬性】,跳出對(duì)話框。
步驟四:這里的設(shè)置可是關(guān)鍵中的關(guān)鍵
步驟五:“選擇要安裝的系統(tǒng)必備組件”,解決的是運(yùn)行可執(zhí)行文件環(huán)境的問題運(yùn)雀賀行使用VB.Net編寫的程序,必須在系統(tǒng)中安裝.Net Framework(也有軟件使用虛擬環(huán)境運(yùn)行的)。“查看引用”查到的信息就用到了。如果解決方案只是引用了2.0版本的框架(.Net Framework),默認(rèn)的系統(tǒng)組件選擇。
可以選擇框架3.5,建議使用框架2.0,因?yàn)榭蚣?.0大小是30M,而框架3.5卻有300M之巨.指定系統(tǒng)必備組件的安裝設(shè)置”這個(gè)選項(xiàng)也挺有用。如果編寫了一個(gè)很簡(jiǎn)單的程序,想發(fā)布(此發(fā)布不是前述的發(fā)布)出去讓大家使用,而又不想拖著少則幾十兆多則幾百兆的框架的話,那么可以選擇第一個(gè)互斥按鈕。如果擔(dān)心用戶在安裝程序時(shí)上網(wǎng)不方便,不能從供應(yīng) 商那兒下載框架的話,那么,只好把框架拖上嘍(這也是為什么在能選擇框架2.0的時(shí)候莫要選擇框架3.5的原因,安裝程序越小越好,用戶如果安裝了幾百 兆的程序,發(fā)現(xiàn)打開的只是個(gè)簡(jiǎn)單的計(jì)算器的話,會(huì)氣的摔鍵盤的?。?/p>
首先在項(xiàng)目的VB.NET界面,使用菜單【項(xiàng)目】--【添加引用】--【COM】
選擇 ?Microsoft ADO Ext. 2.x for DDL and Security
然后單擊【確定】,完成引用。
完整代碼如下:
Imports?ADOX
Public?Class?Form1
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
'創(chuàng)建空的access數(shù)據(jù)庫(kù)文件--數(shù)據(jù)庫(kù)文件.mdb,密碼為123
Dim?Mycat?As?Catalog?=?New?Catalog()
襪鏈??????Mycat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Jet?OLEDB:Engine?Type=5;Data?Source=?數(shù)據(jù)庫(kù)文件.mdb;Jet?OLEDB:Database?Password=123")
'以下代碼創(chuàng)建一攜團(tuán)個(gè)名為“實(shí)驗(yàn)數(shù)據(jù)表”
Dim?MyTable?As?ADOX.Table?=?New?ADOX.Table?????????'定義新表
MyTable.Name?=?"實(shí)驗(yàn)數(shù)據(jù)表"????'表命名
'給表“實(shí)驗(yàn)數(shù)據(jù)表”?創(chuàng)建一個(gè)字符串字段,字段名“姓名”
MyTable.Columns.Append("姓名",?,?ADOX.DataTypeEnum.adWChar)
'給表“實(shí)驗(yàn)數(shù)據(jù)表”?創(chuàng)建一個(gè)整數(shù)字段,字段名“學(xué)號(hào)”
MyTable.Columns.Append("學(xué)號(hào)",?ADOX.DataTypeEnum.adInteger)????'追加一個(gè)數(shù)字型字段
'給字段“辯好橘學(xué)號(hào)”創(chuàng)建一個(gè)主鍵“PimaryKey_Field”????????
MyTable.Keys.Append("學(xué)號(hào)",?ADOX.KeyTypeEnum.adKeyPrimary,?"學(xué)號(hào)")
Mycat.Tables.Append(MyTable)?'把所有的新字段追加到表
MyTable?=?Nothing
Mycat?=?Nothing
End?Sub
End?Class