十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
如果是可視化控件,可以點(diǎn)圖中右下角的“瀏覽”,找到emodelview.dll就可以添加到工具箱
在麻江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),麻江網(wǎng)站建設(shè)費(fèi)用合理。
如果是類庫(kù),要在項(xiàng)目屬性的“引用”中添加。
VB.NET安裝部署一).創(chuàng)建部署項(xià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. 選擇“主輸出來自 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
(.net一定是必須的)
... (如果有引用其他的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.net建立一個(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í)加入.net環(huán)境和MDAC功能:
把MS的PluginInstaller.msi插件裝上后,用vb.net的自帶的打包工具打包,就會(huì)自動(dòng)把.net 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(Visual Basic)是由微軟公司開發(fā)的包含環(huán)境的事件驅(qū)動(dòng)編程語言。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用開發(fā)程序(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松地使用VB提供的組件快速創(chuàng)建一個(gè)應(yīng)用程序。
Visual Basic .NET(VB.NET)是.NET Framework框架下的一種多重編程范式高級(jí)語言。
VB.NET,是微軟公司于2002年作為原有的Visual Basic的繼承者而推出。雖然自2005年起,語言名稱中的“.NET”就已經(jīng)被去掉了。但為了與VB 6.0及以前版本的Visual Basic進(jìn)行區(qū)分,
“Visual Basic .NET”的名字仍然被社會(huì)公眾用來指代VB 7.0及以后的Visual Basic。VB.NET與C#同為.Net Framework框架下兩種主要的程序設(shè)計(jì)語言,都是為了調(diào)用.Net Framework的類庫(kù)資源,因此兩種語言具有很高的對(duì)應(yīng)性,數(shù)據(jù)類型、控制結(jié)構(gòu)與語言特性都存在一一對(duì)應(yīng),容易把源代碼從一種語言對(duì)譯為另一種語言。
大家一定對(duì)Web Service模型在.NET中的重要性都有所了解,那么,我們?nèi)绾尾拍苋菀椎夭渴?、維護(hù)一個(gè)可支持幾百萬客戶端的Web Service呢?這需要選擇恰當(dāng)?shù)幕A(chǔ)架構(gòu),也就是.NET Framework設(shè)計(jì)的目標(biāo)。
NET Framework是在Microsoft .NET平臺(tái)上進(jìn)行開發(fā)的基礎(chǔ),.NET Framework以及針對(duì)設(shè)備的.NET Framework簡(jiǎn)化版為XML Web服務(wù)和其他應(yīng)用程序提供了一個(gè)高效安全的開發(fā)環(huán)境,并全面支持XML。
核心技術(shù)
NET Framework的核心技術(shù)為:通用語言運(yùn)行庫(kù)(CLR:Common Language Runtime)、類庫(kù)、ASP.NET及ADO.NET。
通用語言運(yùn)行庫(kù)(Common Language Runtime)
CLR引入了一些能提高應(yīng)用程序運(yùn)行可靠性的技術(shù)(比如消除了內(nèi)存泄漏),同時(shí)也提供了多語言執(zhí)行環(huán)境,使得組件和XML Web服務(wù)的綜合使用不再受編程語言的限制。目前,可以用來編寫.NET應(yīng)用程序的編程語言不下20種,如C++、 Visual Basic .NET、JScript,以及微軟最新推出的開發(fā)語言——C#,此外還包括不少第三方的語言,比如COBOL、Eiffel、Perl、Python、Smalltalk等等。
類庫(kù)
統(tǒng)一的類庫(kù)提供了調(diào)用平臺(tái)函數(shù)的通用方法,使得我們不必再去學(xué)習(xí)并研究不同語言的API體系結(jié)構(gòu)
ASP.NET
ASP.NET建立在.NET Framework類的基礎(chǔ)之上,并提供了由控件和基礎(chǔ)部分組成的“Web程序模板”,大大簡(jiǎn)化了Web程序和XML Web服務(wù)的開發(fā)。程序員直接面對(duì)的是一組ASP.NET控件,而這些控件由一些諸如文本框、下拉選單等通用的HTML用戶界面構(gòu)件封裝而成。實(shí)際上這些控件運(yùn)行于Web服務(wù)器上,并簡(jiǎn)單地以HTML的形式將用戶界面發(fā)送到瀏覽器。
ADO.NET
與現(xiàn)有的ADO數(shù)據(jù)訪問模型相比,ADO.NET引入了一些新的特性——基于XML,并且是松散耦合的(loosely-coupled)。ADO.NET使用了脫機(jī)(disconnected)數(shù)據(jù)緩存,使用戶能快速地創(chuàng)建出高性能、可靠的XML Web服務(wù)和現(xiàn)在流行的多層應(yīng)用程序(N-tier applications)。
Enterprise Services
由于建立在Windows 2000的Application Services上,并包括了微軟COM+服務(wù)和消息隊(duì)列服務(wù),.NET Framework Enterprise Services的可擴(kuò)展性和可靠性都相當(dāng)出色,而這對(duì)企業(yè)級(jí)程序(比如事務(wù)處理)而言是非常重要的。
此外,Windows 2000 Application Services和.NET Framework的深層整合,使得用戶可以將現(xiàn)在通行的基于COM的程序轉(zhuǎn)化為XML Web服務(wù),而且整個(gè)轉(zhuǎn)化根本不用寫一行代碼,只需通過一個(gè)管理接口(administrative interface)就能輕而易舉地實(shí)現(xiàn)。
Windows Forms
Windows窗體為.NET Framework提供了美觀的客戶端圖形用戶界面,它囊括了現(xiàn)在的VB組件庫(kù)(Visual Basic component library)和Windows基礎(chǔ)類庫(kù)(Windows Foundation Classes),以及高效易用的底層Win32 API 的所有優(yōu)點(diǎn)。
.NET Framework的優(yōu)點(diǎn)
NET Framework有什么優(yōu)點(diǎn)呢?簡(jiǎn)單地說,它能縮短產(chǎn)品開發(fā)時(shí)間,簡(jiǎn)化發(fā)布和管理,提高運(yùn)行效率。以下是一些主要的優(yōu)點(diǎn):
可以使用任何編程語言 .NET Framework允許開發(fā)者以任何語言進(jìn)行開發(fā),使不同語言開發(fā)的程序結(jié)合得更緊密,并使現(xiàn)有的開發(fā)技巧得以繼續(xù)使用;
減少了編寫代碼量 .NET Framework使用了高度模塊化的設(shè)計(jì),使得開發(fā)人員可以將精力更多地集中到處理商務(wù)邏輯方面,而不必再把時(shí)間花費(fèi)在寫IDL和Register代碼上。以ASP.NET為例,許多常用的功能,如購(gòu)物車,都已被封裝成為通用的控件;
以XML/SOAP為核心 .NET Framework目標(biāo)是將軟件轉(zhuǎn)化為服務(wù),因此基于XML和SOAP系列的集成標(biāo)準(zhǔn)。您只需簡(jiǎn)單地注出所需的方法調(diào)用,.NET Framework就能將它們轉(zhuǎn)化為完整的XML Web服務(wù);
提高了應(yīng)用程序的可靠性 .NET Framework引入了新的技術(shù)使程序運(yùn)行得更可靠,比如以.NET Framework來管理內(nèi)存、線程及進(jìn)程,確保內(nèi)存泄漏將不再發(fā)生。此外,ASP.NET 還監(jiān)視Web程序的運(yùn)行,并根據(jù)管理員設(shè)定的時(shí)間間隔,每過一段時(shí)間自動(dòng)地重新執(zhí)行一次這些程序;
性能更加優(yōu)化 .NET Framework優(yōu)化了傳統(tǒng)的Web程序。ASP.NET引入了高級(jí)的編譯技術(shù)和緩存特性,獲得了比現(xiàn)在ASP程序高1~2倍的性能。
標(biāo)準(zhǔn)化
微軟已經(jīng)將.NET Framework的核心部分通用語言規(guī)范(即Common Language Infrastructure)提交給了歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)?,F(xiàn)在正全力參與ECMA的標(biāo)準(zhǔn)化推廣,并協(xié)助ECMA控制和管理這些標(biāo)準(zhǔn)。
在解決方案中添加一個(gè)類庫(kù)項(xiàng)目,切換到主程序項(xiàng)目,添加引用,在對(duì)話框中選擇項(xiàng)目頁面,里面就有該類庫(kù)項(xiàng)目。點(diǎn)擊,確定就引用進(jìn)來了。
使用時(shí)就是定義該庫(kù)中的類了
如這樣:
Dim c As New ClassLibrary1.Class1
msgbox c.cc()
第二圖中像是聲明一個(gè)API函數(shù)了,既然是類庫(kù)當(dāng)然是類了。
至于生存的Dll文件的注冊(cè)可能要手工進(jìn)行的吧,用RegSvr32.exe。注冊(cè)后在引用對(duì)話框的Com頁面也應(yīng)該會(huì)出現(xiàn)吧,我用vb6編的一些垃圾東西這里也能找到。
在您的代碼中,您已經(jīng)成功使用了RegAsm命令將DLL注冊(cè)為COM組件,并在VB6中成功引用了該組件的類型庫(kù)文件(TLB文件)。此外,您還在VB6代碼中聲明了一個(gè)YCImageDo類型的對(duì)象,并成功創(chuàng)建了該對(duì)象。
但是,當(dāng)您嘗試使用YCImageDo對(duì)象的屬性和方法時(shí),卻發(fā)現(xiàn)這些成員不可見。這可能是因?yàn)樵诰帉慏LL代碼時(shí)您沒有正確地聲明這些成員的可見性。
在VB.NET中,您可以使用"Public"關(guān)鍵字來聲明一個(gè)類型的成員(屬性、方法、過程等)對(duì)外可見,而使用"Private"關(guān)鍵字則聲明該成員僅在類型內(nèi)可見。如果您希望YCImageDo類型的成員在VB6代碼中可見,則應(yīng)將這些成員聲明為Public類型。
例如,如果您希望YCImageDo類型擁有一個(gè)名為"GetImage"的方法,則可以在DLL代碼中按如下方式聲明該方法:
Public Function GetImage() As String
' 在這里編寫方法的代碼
End Function
同樣,如果您希望YCImageDo類型擁有一個(gè)名為"ImagePath"的屬性,則可以在DLL代碼中按如下方式聲明該屬性:
Public Property ImagePath As String