舊軟體在 Windows 11 不能跑怎麼辦?
舊程式在 Windows 11 開不起來,多半卡在 32 位元驅動、串列埠、舊資料庫引擎或路徑權限。整理原因、三種做法的取捨與換機時的驗收與回復方案。
很多工廠與公司都有這樣一台電腦:放在產線旁或辦公室角落,跑著十幾二十年前請人寫的程式,每天都在用,卻沒有人敢動它。新電腦裝不起來,原開發廠商聯絡不上,原始碼也不完整。真正讓人擔心的,其實不是程式本身,而是那台舊電腦哪天硬碟壞了,就沒有辦法復原。
這篇整理我們在協助客戶處理這類情況時的做法與經驗,希望在您決定要重寫、用虛擬機或搬到新電腦之前,先有一個比較完整的判斷依據。
為什麼舊程式在 Windows 11 開不起來
舊程式本身通常沒有壞,出問題的多半是它依賴的「環境」。常見的原因有這幾類:
32 位元驅動與 COM 元件
Windows XP 與 2000 時代的程式幾乎都是 32 位元。程式本身在 64 位元的 Windows 11 上多半還能執行,但它依賴的驅動程式、COM 元件或第三方控制項可能已經沒有對應版本,或安裝時被放到不同的資料夾。
串列埠與設備通訊
連接 PLC、秤重設備或條碼機的程式,常透過 RS-232 串列埠溝通。新電腦大多沒有串列埠,需要改用串列轉網路設備,並把虛擬出來的埠號對應到程式原本認得的名稱。
舊的資料庫引擎與執行環境
例如 Delphi 程式常依賴 BDE 這類早已停止更新的資料庫引擎,VB6 與早期 .NET Framework 程式也各有需要的執行環境。安裝檔找不到、或裝好後設定不對,都會讓程式一開就報錯,或是打開畫面沒問題、按下查詢才出錯。
寫死的路徑、權限與語系
有些程式把資料位置寫死在 D 槽的某個資料夾,新電腦沒有 D 槽就找不到資料;有些會把紀錄檔寫到 C 槽根目錄,被新版 Windows 的權限機制擋下。畫面出現亂碼,常常是「非 Unicode 程式的語言」沒有設成繁體中文。
授權鎖與序號
部分商用軟體綁定硬體授權鎖(dongle)或原機的序號,換電腦前要先確認授權能不能轉移,這一點最好在評估階段就問清楚。
三種做法怎麼選
| 做法 | 適合的情況 | 需要留意的地方 |
|---|---|---|
| 在新電腦上重建環境 | 程式本身還符合需求,只是舊電腦撐不住 | 需要逐一找出依賴的元件,並在現場驗證設備連線 |
| 虛擬機 | 想最快離開舊硬體,而且設備連線單純 | 串列埠與設備要穿透到虛擬機,日後維護的人也要懂虛擬機 |
| 重寫 | 流程已經改變,或舊程式有功能已經不敷使用 | 時間最長,所有功能都要重新驗證,現場也要重新學 |
我們的原則是:能原封不動執行就不重寫。只有某些元件確定無法取得時,才針對那一小部分另外處理。
一個實際的例子
我們協助一家製造業客戶,把一套在 Windows 2000 上用了多年、以 Delphi 5 撰寫的配方計量與監控程式,移植到 Windows 11 上直接執行。客戶明確不希望使用虛擬機,原始碼也只剩片段,無法重新編譯,所以這是一件「重建環境」的工作:程式一行都不改,而是在新電腦上重建它需要的資料庫引擎、PLC 通訊軟體、磁碟路徑與語系設定。專案目前仍在進行中,過程中有幾件事特別值得分享:
- 有幾支查詢程式綁在已經無法安裝的元件上。我們另外做了一套查詢工具,直接讀取原本的資料檔,畫面標題與欄位照原程式逐字保留,現場同仁不必重新學。
- 設備通訊有一個容易忽略的陷阱:接錯埠時,通訊軟體依然顯示「連線正常」,讀到的卻是另一台設備的數值。所以驗收時,我們拿舊電腦同一個畫面的照片,和新電腦上的數值逐格對照。
- 不會因為「看起來沒人用」就刪掉任何功能,那是客戶的決定。
- 操作與故障排除手冊做成離線網頁,工控電腦不連外網也打得開。
評估風險的方法
動手之前,建議先把這幾件事列清楚:
- 程式依賴哪些元件、資料庫與驅動,哪些還取得到。
- 哪些功能只讀取資料,哪些會寫入設備。會寫入設備的部分風險最高,要最後處理、最仔細驗證。
- 資料與設定在哪裡,是否有完整備份;如果舊電腦明天就壞,現在的備份能不能還原。
- 有沒有功能長期沒有資料可以比對,這些只能靠現場實際操作驗收,要提早安排時間。
並行測試與回復方案
換機不必一次到位。我們會先在新電腦上完成設定與測試,舊電腦在驗收完成前保持原樣;換機當天,把舊電腦上最新的資料與設定整包帶出並匯入,避免遺漏最後幾天的紀錄。新電腦若有狀況,隨時可以換回舊電腦繼續作業。
如果您也有一台不敢關機的舊電腦,可以參考我們的舊系統移植與延壽服務,或看看工廠自動化軟體能怎麼接上現場設備。更多類似情境整理在應用情境頁面。
常見問題
沒有原始碼,也能把舊程式搬到 Windows 11 嗎?
多數情況可以。重建環境不需要修改程式本身,而是找出它執行時需要的元件、路徑與設定,在新電腦上補齊。
用虛擬機是不是比較簡單?
虛擬機通常最快,但設備連線、日後維護與現場操作習慣都要一起考慮。有些現場希望程式直接在新電腦上執行,這時就從重建環境著手。
換機會不會影響生產?
建議先在新電腦上完成設定與測試,再挑合適的時間換機,並保留舊電腦作為回復方案,盡量縮短停機時間。