電腦義診|Visual Basic 6.0:罪與罰






電腦義診|Visual Basic 6.0:罪與罰

如果一個學生最早學過BASIC,那麼幾乎不可能讓他學會優秀的編程:因為這些人已經放棄了重生的希望。

——Edsger Wybe Dijkstra

電腦義診|Visual Basic 6.0:罪與罰

如果你在中學學過編程,你不會忘記一個可怕的名字:Visual Basic

如果你在編程時遇到了不可描述的「未定義類型」錯誤,你使用的一定是:Visual Basic

如果一個工程師至今沒有對象,他用的開發工具很可能是:Visual Basic

電腦義診|Visual Basic 6.0:罪與罰


Visual Basic(VB)是由微軟公司開發的包含協助開發環境的事件驅動編程語言。它源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接數據庫,或者輕鬆的創建ActiveX控件。工程師可以輕鬆地使用VB提供的組件快速創建一個應用程序。

以上內容來自 https://zh.wikipedia.org/wiki/Visual_Basic

然而,VB根本不能稱作一個完美的開發語言,甚至連「完善」都難以做到。

事實上,Visual Basic自從設計開始就是一種簡單的語言。一些C++和Java中的特性在VB中並沒有出現。最麻煩的是,一些類似於編譯時進行類型和聲明檢查的功能在默認情況下是關閉的,於是「未定義類型」錯誤成為了VB中相當常見而愚蠢的問題。

更為嚴重的是,VB的簡單特性使得其具有了可持續的負面影響。現實生活中,很多人自學了VB,但是VB幾乎零基礎的編程操作使用戶根本不能掌握好的編程習慣。當VB進入課堂的時候,學生們並不會接觸到那些基礎的程序技術和結構——因為它們已經包含在那些對用戶可見的組件中了。這些弊端經常會導致一些莫名其妙的代碼的產生,甚至連編寫者都很難找到隱藏的錯誤。

此外,無法面向對象編程,不支持64位程序開發,難以編寫多線程程序,產品無法跨平台運行……諸多的問題使得VB完全不能勝任大型程序的開發。著名的「DLL hell」事件也被認為和VB有關。甚至,連VB的IDE(集成開發環境)本身都存在著嚴重的bug。

因此,有人說:

真正的工程師不用BASIC。12歲以下的孩子才用。


但即便如此,作為信息技術基礎教育的重要組成部分,VB在中國依舊保持著較高的使用率。

1998年10月,Visual Basic 6.0作為Visual Studio 6.0的一員正式發布。至今為止,VB6依舊活躍在部分大中小學的計算機課堂中,並成為了VB歷史上唯一一個未被後續產品完全取代的版本。

電腦義診|Visual Basic 6.0:罪與罰

電腦義診|Visual Basic 6.0:罪與罰

很快,十年過去了。

在2008年11月,作為一款已經存在10年之久且被絕大部分商業公司棄用的產品,Visual Basic 6.0的官方支持被微軟正式停止。但是,經過微軟Windows和Visual Basic官方團隊的努力,這個早已過時的開發環境得以在Windows 7及之前版本的Windows中茍延殘喘。

好景不長,

2015年7月,Microsoft Windows 10 正式發布。

電腦義診|Visual Basic 6.0:罪與罰

Windows 10 提供了諸多新特性和新穎的用戶體驗,但是,VB6的IDE並未通過運行測試。

是的,Windows 10 原生不支持 Visual Basic 6.0 開發環境

具體表現為:

  1. VB6安裝程序無法運行,或因未知錯誤而中斷。

  2. 在安裝過程中,出現COM組件依賴問題。

  3. 在安裝進行到最後時,無法對系統註冊表進行寫入。

  4. 安裝過程中程序失去響應,甚至完全死機。

  5. 安裝後無法卸載和更改。

    ……

電腦義診|Visual Basic 6.0:罪與罰

電腦義診|Visual Basic 6.0:罪與罰


罪惡的根源來自於VB中一個非常重要的組件:

ADO、RDS and OLE DB Providers

顧名思義,這個組件和ADO(ActiveX Data Objects,ActiveX數據對象),RDS(Relational Database Service,關係型數據庫服務)以及OLE DB(Object Linking and Embedding Database,對象連接與嵌入數據庫)有關。這個組件提供了從程序到數據庫的流水線型解決方案。然而,對於初學者,這個組件幾乎是不會被涉及的。

正是這個組件,導致了 Visual Studio 6.0 家族的大部分產品(包括VB、VC++)無法在Windows 8及以後版本的系統中正常安裝的錯誤。由於DLL衝突,組件完全無法在系統中被註冊,最終導致安裝程序失去響應。

因此,禁用這個組件,就是成功安裝的關鍵。


首先,我們需要準備以下工具:

Visual Basic 6.0 官方安裝包:

ed2k://|file|sc_vb6_ent_cd1.iso|274132992|93B08D085B3D7CC0E6DC0EDEBC96E95B|/

(建議使用迅雷等下載工具下載)

可選安裝內容:

Service Pack 6 for Visual Basic 6.0 (SP6補丁包)

https://www.microsoft.com/zh-cn/download/details.aspx?id=5721

Code Advisor for Visual Basic 6.0 (代碼分析與改進工具)

https://www.microsoft.com/zh-CN/download/details.aspx?id=1222

此外,有需要的同學,還可以下載 MSDNforVB6.0,以獲得更為專業和細致的編程幫助。

(微軟並未開放MSDN Library的下載,由於版權問題,此處不提供下載鏈接)

以下操作均基於最新版Windows 10 (2017年7月官方更新版)製作,並在Windows 8/8.1通過測試。

Step 1 掛載鏡像

我們下載到的安裝包是一個.iso(光盤映像)文件,需要將其掛載以打開內部文件。

如圖,右擊CD1,選擇裝載。

電腦義診|Visual Basic 6.0:罪與罰

Step 2 復制安裝文件

一般情況下,裝載.iso後,會自動打開一個文件夾(如下圖)。

電腦義診|Visual Basic 6.0:罪與罰

將內部的所有文件拷貝至一個本地文件夾中(如桌面)。

(這一步非常重要,否則在安裝過程中會出現致命錯誤。)

電腦義診|Visual Basic 6.0:罪與罰

如圖,我們在桌面上新建了一個CD_ROM文件夾,並把光盤中的所有內容拷貝進去。

Step 3 兼容性設置

這一步設置是為了保證這個近20年前的老程序在Windows 10上可以正常運行。

進入剛剛拷貝的文件夾,右擊SETUP.exe,選擇屬性,然後切換到兼容性選項卡。

電腦義診|Visual Basic 6.0:罪與罰

選中「以兼容模式運行這個程序」,在下拉菜單中選擇 Windows XP Service Pack 3(或更早的版本)。

對於使用高分辨率顯示器(比如高清屏、4K屏)的同學,我們建議開啟「替代高DPI縮放行為」,否則會造成程序顯示模糊。

此外,為了規避不必要的麻煩,我們也建議開啟「以管理員身份運行此程序」。

最後,點擊確定,保存設置。

Step 4 安裝過程

雙擊SETUP.exe,開始安裝。

電腦義診|Visual Basic 6.0:罪與罰

下一步。

電腦義診|Visual Basic 6.0:罪與罰

接受協議,下一步。

電腦義診|Visual Basic 6.0:罪與罰

這一步需要輸入產品ID。由於微軟早已停止了該產品的生命周期,因此放出了兩個官方免費序列號:000-0000000,111-1111111。任選其一即可。

姓名公司名稱會出現在用該軟體所編寫程序的相關信息中,請謹慎填寫。

剩餘的步驟只需一路點擊下一步/即可,直到來到這個階段:

電腦義診|Visual Basic 6.0:罪與罰

搜尋的速度和你的硬碟大小及性能有關,持續時間從幾十秒到幾分鐘不等。

電腦義診|Visual Basic 6.0:罪與罰

選擇自定義安裝

電腦義診|Visual Basic 6.0:罪與罰

選中數據訪問,點擊右側的更改選項

電腦義診|Visual Basic 6.0:罪與罰

取消ADO、RDS 和 OLE DB Providers前的勾。注意:此時會有提醒,忽略即可。

然後繼續安裝,直至提示重啟

重啟後會出現MSDN的安裝界面。擁有MSDN安裝文件的同學可以繼續進行安裝。否則,退出

電腦義診|Visual Basic 6.0:罪與罰

至此,您的 Visual Basic 6.0 在 Windows 10 上已經安裝成功。

電腦義診|Visual Basic 6.0:罪與罰

1598年,一艘被暴風雨吹偏了航線的商船停泊在印度洋上的某個小島邊。饑腸轆轆的水手們發現,島上有無數肥碩的大鳥正昂首挺胸的來回踱步,仿佛它們是驕傲的世界之王。這座小島叫毛裡求斯,這種鳥叫渡渡鳥。

在數百萬年遠離大陸的生活中,缺少天敵的渡渡鳥進化(或者說是退化)成了一種不會飛卻毫無畏懼的生物,即使又笨又蠢依然能在島上稱霸多年,遠不知外界的生存競爭已經演化到何等激烈的程度。在人類移民者以及隨船而來的貓、狗等捕食者的聯合衝擊下,渡渡鳥在被人類發現後的幾十年裡迅速滅絕。

如果一座孤島在長年累月的封閉中會孵化出渡渡鳥這種自大而蒙昧的生物。那麼一個學校,乃至一個國家的信息技術教育體系,停滯於20年前而不再與時俱進,會不會也變異成在文化和技術的孤島中沉迷於自己虛幻的強大,面對外界信息卻弱不禁風的渡渡鳥呢?

電腦義診|Visual Basic 6.0:罪與罰

電腦義診|Visual Basic 6.0:罪與罰

最後,歡迎各位加入電腦義診中心,獲取最新的技術資訊和故障維修服務。

電腦義診|Visual Basic 6.0:罪與罰

文字|電腦義診-蔡浩天

圖片|網路

編輯|新媒體-趙智

審核|倪雙雙、魯雅楠

南農校科協

微信號:njauxkx

電腦義診|Visual Basic 6.0:罪與罰

電腦義診|Visual Basic 6.0:罪與罰

長按識別二維碼

關注我們