Silverlight例項教程 - Out of Browser線上更新和Silent安裝
通過前幾篇的學習和實踐,相信大家可以很輕鬆的建立個性化Silverlight Out of Browser應用。上週,在銀光中國網論壇有人問到對於Silverlight Out of Browser應用,如何進行線上更新?這篇將針對該問題,介紹一下Silverlight的Out of Browser應用如何進行線上更新的,另外,我們將介紹Silverlight 4中提供的一個新的Out of Browser應用安裝方式。
首先說說Silverlight Out of Browser應用線上更新
在本系列開篇的時候,我們已經介紹,Silverlight Out of Browser和Silverlight Web應用有一些不同,Silverlight Web當更新了伺服器端的XAP檔案後,使用者在重新載入時,會自動更新XAP檔案到本地臨時目錄。而Silverlight Out of Browser應用的自動更新是通過呼叫CheckAndDownloadUpdateAsync方法和Application.CheckAndDownloadUpdateCompleted實現的,在判斷UpdateAvailable屬性為True時,說明一個新版本已經被發現和成功下載,相反則是False。如果在檢測中發現異常,則可以通過Error屬性檢視異常例項資訊。
按照常規方法,我們都會在應用啟動時進行更新檢測,所以,我們需要將程式碼新增到App.xaml的建構函式中,
首先建立OnCheckAndDownloadUpdateCompleted檢測是否有新版本允許下載,
2 {
3 if (e.UpdateAvailable && e.Error == null)
4 {
5 MessageBox.Show("應用新版本已經下載成功,將在下次啟動時生效。");
6 }
7 else if (e.Error != null)
8 {
9 MessageBox.Show("在檢測應用更新時, 在"
10 + "出現以下錯誤資訊:"
11 + Environment.NewLine
12 + Environment.NewLine
13 + e.Error.Message);
14 }
15 }
然後,新增宣告在App的建構函式中,使其在安裝時進行版本更新檢查,
2 {
3 if (App.Current.InstallState == InstallState.Installed)
4 {
5 App.Current.CheckAndDownloadUpdateCompleted += OnCheckAndDownloadUpdateCompleted;
6 App.Current.CheckAndDownloadUpdateAsync();
7 }
8
9 this.Startup += this.Application_Startup;
10 this.Exit += this.Application_Exit;
11 this.UnhandledException += this.Application_UnhandledException;
12
13 InitializeComponent();
14 }
這樣,在Silverlight OOB應用啟動時,將檢測是否是否有新版本下載,如果有則會自動更新,在下次啟動應用時生效。
這裡需要說明的是,Silverlight Out of Browser的自動更新,需要在信任應用(Trusted Application)下才能正常執行,否則將返回許可權異常錯誤。
Silverlight Out of Browser的Silent安裝模式
我們在Silverlight例項教程 - Out of Browser配置,安裝和解除安裝中討論過Silverlight OOB應用安裝的兩種方式,這裡,我們將介紹Silverlight 4中新推出的一種安裝方式,叫做Silent安裝。這種安裝方式是使用命令的方式安裝Silverlight OOB應用到本地,該方式不會在客戶端顯示任何視窗提示資訊,悄然的把應用安裝到本地。通常,一些開發人員習慣該安裝方式應用於一個BAT批處理檔案中,讓非專業使用者簡單的安裝和使用其應用程式。其實這種安裝方式,也就是將XAP檔案安裝到本地。
大家還記得開篇時介紹sllauncher.exe命令麼"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 1359404922.localhost,我們使用sllauncher命令執行本地XAP檔案,當我們新增/install引數時,即可實現silent安裝OOB應用。
先看看具體的silent安裝命令格式:
/install:"C:\SilverlightOOBDemo\SilverlightOOBDemo.xap"
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
/shortcut:desktop+startmenu
/overwrite
從上面的命令中可以看出sllauncher新增部分引數後,實現不同的功能操作,例如
/install:“XAP檔案目的路徑”,這個引數是允許開發人員自定義XAP檔案安裝路徑,可以是本地磁碟,也可以是網路路徑。這個引數是silent安裝模式必需的引數。
/origin:"XAP檔案源路徑",這個引數是設定XAP檔案的源URL,其目的是為了自動更新而設。作為官方推薦設定該引數,保證其應用自動更新。
/shortcut:desktop+startmenu,從字面意思就可以看出,這個引數是建立應用快捷方式的,desktop+startmenu為在桌面和開始選單都建立該應用快捷方式,如果只想建立桌面快捷方式,使用/shortcut:desktop即可,建立開始選單快捷方式與之同理。
/overwrite,這個選項是確認當前安裝XAP檔案是否覆蓋已經安裝過的XAP檔案,通常來說,我們都會設定覆蓋,這樣保持應用為最新版本。
根據以上解釋,可以對照看出上面silent安裝命令的意思,執行sllauncher,安裝SilverlightOOBDemo.xap到本地,源更新地址為http://localhost:29162/ClientBin/SilverlightOOBDemo.xap,建立桌面和開始選單快捷方式,並且覆蓋原有版本。
另外我們再介紹兩個常用sllauncher命令引數:
/emulate:“XAP檔案目的路徑”,該命令引數允許安裝OOB應用後,自動執行該應用,就像現在很多軟體自帶的autorun功能相似。
使用方法:
/emulate:"C:\SilverlightOOBDemo\SilverlightOOBDemo.xap"
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
/overwrite
/uninstall,該命令引數允許開發人員通過命令的方式解除安裝Silverlight OOB應用。其使用方法:
/uninstall
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
看到這裡,我想大家應該有一些明白了,無論是安裝還是執行Silverlight OOB應用都和sllauncher命令有關,
安裝時,使用/install引數,
執行時,使用預設"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 1359404922.localhost,
解除安裝時,使用/uninstall引數。
這個就是Silverlight 4中Out of Browser應用特性之一,Silent Install。
寫到這裡,Silverlight 4 Out of Browser例項系列也應該結束了,在該系列中,我們結合著實際例程學習了Silverlight Out of Browser的基礎知識以及開發技巧。
在以後的時間裡,希望大家能夠勤於動手,多實踐,開發出更多個性化的Silverlight Out of Browser應用。
歡迎大家加入"專注Silverlight" 技術討論群:
相關文章
- 5.6單例項安裝單例
- Redis單例項安裝Redis單例
- solaris下-silent方式安裝oracle clientOracleclient
- Memcached安裝與使用例項
- mysql 5.7單例項安裝MySql單例
- 【DBCA -SILENT】靜默安裝之rac資料庫安裝資料庫
- oracle例項安裝到 4% 不能繼續安裝Oracle
- 使用silent模式安裝Oracle 11g模式Oracle
- Silent安裝oracle 11.2 for Oel5.5Oracle
- Linux下安裝 Docker例項LinuxDocker
- 【Oracle】ASM例項安裝入門OracleASM
- oracle單例項12.2.0.1安裝Oracle單例
- 安裝Mongodb3.0.6單例項MongoDB單例
- BIND 9快速安裝例項(轉)
- Soloaris 10上9201的SILENT安裝
- silent安裝oracle10g 10.2.0.4 patchOracle
- silent安裝oracle10g 10.2.0.5 patchOracle
- ORM 例項教程ORM
- Java例項教程Java
- eclipse 線上安裝android包:Download interrupted: Read timed outEclipseAndroid
- oracle 11g 單例項安裝Oracle單例
- oracle 多個例項安裝監聽Oracle
- 清除安裝失敗的asm例項ASM
- MyEclipse顯示中文介面,線上安裝教程Eclipse
- 「TPM例項」iOS全球免費應用實時搜尋+排行榜+線上安裝iOS
- MacBook Pro更換硬碟及系統安裝教程Mac硬碟
- mysqld_multi安裝多個mysql例項MySql
- Qmail+LDAP安裝配置例項(一)(轉)AILDA
- 單機環境安裝配置ASM例項ASM
- Smarty例項教程(2)
- Smarty例項教程(5)
- Android應用例項之----基於BroadCastReceiver的SD卡裝載解除安裝例項!AndroidASTSD卡
- 【安裝】AIX安裝單例項11gR2 GRID+DBAI單例
- 【DBCA -SILENT】靜默安裝如何啟用歸檔模式模式
- Argo 安裝和 workflow 例項配置檔案解析Go
- 19C 單例項資料庫安裝單例資料庫
- mysql-5.6.31安裝(單例項 Linux)MySql單例Linux
- 【爬蟲】Heritrix 3.2安裝和執行例項爬蟲