這幾天無聊學了 VB2005,用 Visual Studio 2005 寫,但編譯出來的程式拿到沒有安裝 .NET Framework 的環境就不能 run 了,會出現錯誤方塊說程式需要 .NET Framework SDK 2.0 以上的版本才可以執行,讓我覺得很吃驚!難道沒有 .NET Framework 的環境就不能執行嗎?那未免也太沒有可攜性了吧!?
還是在編譯成執行檔時有選項可以連 .NET Framework 一起編譯進去呢?或是需要經過什麼動作?或是有其他解決方法!?因為一直以來都是專精於 UNIX-LIKE System 的工程開發,所以對於 Windows 系統開發是個大菜鳥,還請各位先進解答囉,感謝。
2006-08-19 02:17:40 · 2 個解答 · 發問者 職業玩家 3 in 電腦與網際網路 ➔ 程式設計
這就是用 interpreted language 的缺點(也是好處),就是你的目的機器一定要裝有 runtime… 沒記錯的話,VB也要有VB Runtime,不然 VB的程式跑不起來,而 Java 也是,要裝 Java Console... 但是理論上,你同樣的 .exe 檔,你可以拿到另外一個也有裝 .Net Framework 2.0 的平台,不用重新 compile,他也一定可以跑…
而且 runtime 只需要安裝一次,以後其他 .Net 程式都可以跑 (C# 寫的也是 .Net)…
我只寫過 C#,VS2005裡面有一種 Project 叫 Deployment Project,你選用那一個,可以作一個 setup 檔,把你的 exe 檔跟其他的 dll 檔包裝起來… 只要在目的機器上跑你的 setup 檔,它會自動偵測機器上有沒有裝 .Net Framework 2.0,沒有的話,會自動先安裝 .Net Framework 2.0…
Deployment Project 裡還可以設定你的 project 裡可能有用到的其他的 Pre-requisite,例:Microsoft Installer (MSI),或 Database Access (DAO),等的東西…
2006-08-19 09:55:21 補充:
事實上在 linux 上安裝程式也是會有這些問題啦… 裝個 PHP 要先確定 Apache / Mysql 等的… 有時候裝了個小程式,還告訴我說 missing 一些程式庫… 只要稍微有一點複雜度的程式,不管是那個平台,都會有這個問題… (你用 MFC 寫 C++ 程式,也是要裝 MFC Runtime 啊,不是說用 C++ 就一定沒有)
2006-08-19 03:31:18 · answer #1 · answered by Dave 7 · 0⤊ 0⤋
想問所有用VB寫的程式都只能靠元件嗎?
那些些軟體公司設計出來的小程式又是怎樣呢?不用元件就可以用了還是一個檔案呢!
2006-08-19 13:31:29 · answer #2 · answered by ? 6 · 0⤊ 0⤋