[奇想] 使用LabVIEW來做Update

第一次聽到「部署」兩個字是在大學時代,那時候Windows95作業系統正盛行,網際網路的使用者也開始成級數成長,一切是那麼的光明。軟體商把自家的軟體描述成無所不能的高科技產物,微軟也聲稱:他們讓IT從業人員更有效率地部署作業系統...

講到「部署」,常常使用Windows的網友一定知道,要定期到Windows的Update網站去看看有沒有最新的Update程式,這樣才可以將Windows程式保持在最新的狀態。這是一個利用網路來部署程式的最佳範例之一。

另外一個例子是Norton的防毒軟體,程式會定期到賽門鐵克的網站找尋最新的病毒碼,如果有病毒碼,就會download到電腦中,並且自動更新,電腦中的防毒軟體就想是會成長一樣,可以偵測出最新的電腦病毒。

你有使用過Windows的AntiSpy Ware嗎?(目前是免費的)在安裝後,有一個選項,大意是說:你是否願意將您的資安資訊送到網路上。其實就是微軟想要集合每一台電腦的資安警訊,來做更有效的研發。

這一切對你來說並不陌生,但是,要如何在LabVIEW實現這些功能呢?

目前大家開發的LabVIEW程式大部分用於自動檢測,而且大部分是單機版的程式。隨著網路的普及,越來越多企業會要求系統整合商開發出一套具有「協同作業」功能的自動檢測軟體,讓不同的機台可以將資料存放在資料庫中,某個機台需要製程參數時,也可以到資料庫擷取。這個部份之前在LabVIEW Community曾經被研究過,我想大家也很熟悉了。

最近有一個想法,就是我可以做一個「授權伺服器」,執行程式的時候,LabVIEW程式會將電腦的硬體序號傳送到IIS上,IIS再與SQL Server連線,確認軟體是否可以授權使用。如此一來,就可以從遠端做授權。

傳送硬體序號的時候,也可以傳送目前的軟體版本,跟最新的軟體版本來比較,如果有新版軟體,就會提醒使用者下再最新版的軟體。有了剛剛的授權機制,我相信這不成問題。

但是如果要做成可以自動更新的話,要如何做呢?我想說建立一個機制,假設現在有兩個LabVIEW程式,分別是A、B,A、B在同一台電腦上。A程式是自動測試的程式,B程式則會在開機的時候常駐在電腦中,定期檢查是否有新版的程式。如果發現有新版的程式C,就會自動下載C,並且在使用者的允許下,將C覆蓋掉A,就可以完成自動更新了。

重點是,以上所講的各種技巧,之前在LabVIEW Community都曾經被研究過了唷,所以現在只要將以前大家研究過的技巧做個整合,就可以做到上述的功能唷。所以技術上是絕對可行的。