在项目的发布选项卡中可以为应用程序选择两种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)