在項目的發布選項卡中可以為應用程序選擇兩種ClickOnce部署模式:
該應用程序只能聯機使用
該應用程序也可以脫機使用(可以從“開始”菜單啟動)
在這里,我們姑且分別稱它們為聯機模式和脫機模式。聯機模式要求運行應用程序的機器必須與部署應用程序的服務器保持聯機才能使用,因為每次運行應用程序都要從服務器的應用程序發布頁面(通常是publish.htm)或者由自己創建的快捷方式啟動(鏈向發布頁面的setup.exe)。它會聯機到服務器驗證應用程序并自動下載最新版本到本機的應用程序緩存區(以后簡稱緩存區),然后啟動緩存區中的應用程序。在這個過程中它不會創建卸載程序,也不會自動創建啟動應用程序的任何快捷方式。感覺就是在應用程序發布頁面上點擊“運行”啟動了應用程序,關閉之后就不存在了,但是它仍然存放在緩存區。所以在發布聯機應用程序時是不需要設置更新的(每次運行的一定是最新的版本),“更新”選項是不可用的。
那么我們自然而然的意識到,部署為聯機模式的應用程序,是不存在卸載這一說的。我們能做的只是清空緩沖區的文件。這個緩沖區在類似C:Documents and SettingsAdministratorLocal SettingsApps2.0(2000,XP,2003系統是"%USERPROFILE%Local Settingsapps2.0";Vista系統是"%USERPROFILE%AppDataLocalApps2.0"和"%USERPROFILE%AppDataRoaming")的目錄中創建隨機名稱的文件夾,用于存放應用程序緩存文件;還存在一個Data文件夾,其中存放的也是隨機名稱的文件夾,用于存放應用程序的數據緩存文件。我們可以通過Windows SDK6中的mage.exe -cc命令將這里的聯機緩存文件清空(參見:《清單生成和編輯工具 (Mage.exe)》)。
mage.exe所在目錄:
C:Program FilesMicrosoft SDKsWindowsv6.0Ainmage.exe
Setting environment for using Microsoft Visual Studio 2008 x86 tools.e:Program FilesMicrosoft Visual Studio 9.0VC>mage -?命令 -New <文件類型> -n -Update <文件名> -u -Sign <文件名> -s -ClearApplicationCache -cc -Help [verbose] -h -?Options -AppCodeBase <路徑> -appc -AppManifest <路徑> -appm -CertFile <文件名> -cf -CertHash <哈希> -ch -FromDirectory <路徑> -fd -IconFile <文件路徑> -if -IncludeProviderURL -ip -Install -i -Name <名稱> -n -Password <密碼> -pwd -Processor <處理器> -p -ProviderURL
上一篇 Access數據庫技術(38)