更新:2007 年 11 月
标识用来部署更新并向系统公开的属性。
<deployment
install
minimumRequiredVersion
mapFileExtensions
disallowUrlActivation
trustUrlParameters
>
<subscription>
<update>
<beforeApplicationStartup/>
<expiration
maximumAge
unit
/>
</update>
</subscription>
<deploymentProvider
codeBase
/>
</deployment>
元素和属性
deployment 元素是必需的,它位于 asmv2 命名空间中。它具有下列属性。
属性 |
说明 |
---|---|
Install |
必需。指定此应用程序是否在 Windows“开始”菜单和“控制面板”“添加或删除程序”应用程序中定义存在性。有效值是 true 和 false。如果为 false,ClickOnce 将始终通过网络运行此应用程序的最新版本,但不识别 subscription 元素。 |
minimumRequiredVersion |
可选。指定可以在客户端上运行的此应用程序的最低版本。如果该应用程序的版本号低于部署清单中提供的版本号,将不会运行该应用程序。版本号必须以 N.N.N.N 格式指定,其中,N 是无符号的整数。如果 install 属性为 false,则不得设置 minimumRequiredVersion。 |
mapFileExtensions |
可选。默认为 false。如果为 true,则部署中的所有文件都必须具有 .deploy 扩展名。ClickOnce 将在从 Web 服务器下载这些文件之后立即去除它们的这个扩展名。如果使用 Visual Studio 发布应用程序,它将自动向所有文件添加此扩展名。此参数允许从阻止传输以“不安全”扩展名(例如 .exe)结尾的文件的 Web 服务器下载 ClickOnce 部署中的所有文件。 |
disallowUrlActivation |
可选。默认为 false。如果为 true,则阻止通过单击 URL 或在 Internet Explorer 中输入 URL 启动已安装的应用程序。如果 install 属性不存在,则此属性被忽略。 |
trustUrlParameters |
可选。默认为 false。如果为 true,则允许 URL 包含要传入应用程序的查询字符串参数,非常类似于将命令行变量传递给命令行应用程序。有关更多信息,请参见如何:在 ClickOnce 应用程序中检索查询字符串信息。 如果 disallowUrlActivation 属性为 true,则必须从清单中排除 trustUrlParameters 或将其显式设置为 false。 |
deployment 元素还包含下列子元素。
subscription
可选。包含 update 元素。subscription 元素没有属性。如果 subscription 元素不存在,ClickOnce 应用程序将永远不检查更新。如果 deployment 元素的 install 属性为 false,将会忽略 subscription 元素,因为通过网络启动的 ClickOnce 应用程序始终使用最新版本。
update
必需。此元素是 subscription 元素的子元素,包含 beforeApplicationStartup 或 expiration 元素。不能在同一部署清单中既指定 beforeApplicationStartup 又指定 expiration。
update 元素没有属性。
beforeApplicationStartup
可选。此元素是 update 元素的子元素,它没有属性。如果 beforeApplicationStartup 元素存在,那么当客户端处于联机状态时,应用程序将在 ClickOnce 检查更新时被阻止。如果此元素不存在,ClickOnce 将首先根据为 expiration 元素指定的值检查更新。不能在同一部署清单中同时指定 beforeApplicationStartup 和 expiration。
expiration
可选。此元素是 update 元素的子元素,并且没有子元素。不能在同一部署清单中既指定 beforeApplicationStartup 又指定 expiration。
expiration 元素支持下列属性。
属性 |
说明 |
---|---|
maximumAge |
必需。标识当前更新的使用期限,超过此期限后,应用程序将执行更新检查。时间单位由 unit 属性决定。 |
unit |
必需。标识 maximumAge 的时间单位。有效单位是 hours、days 和 weeks。 |
deploymentProvider
对于 .NET Framework 2.0 而言,如果部署清单包含 subscription 节,此元素则为必需的;否则为可选的。对于 .NET Framework 3.5 而言,此元素是可选的,并且默认值将为在其中发现部署清单的服务器和文件路径。
此元素是 deployment 元素的子元素,它具有以下属性。
属性 |
说明 |
---|---|
codeBase |
必需。以统一资源标识符 (URI) 的形式标识用来更新 ClickOnce 应用程序的部署清单的位置。此元素还可以用来转发光盘安装的更新位置。必须是有效的 URI。 |
备注
可以将 ClickOnce 应用程序配置为在启动时检查更新、在启动后检查更新或永不检查更新。若要在启动时检查更新,请确保 update 元素下面存在 beforeApplicationStartup 元素。
若要在启动后检查更新,请确保 update 元素下面存在 expiration 元素,并且提供了所需的更新间隔。
若要禁止检查更新,请移除 subscription 元素。当在部署清单中指定了永不检查更新时,仍然可以使用 CheckForUpdate 方法手动检查更新。
有关 deploymentProvider 与更新有何关系的更多信息,请参见选择 ClickOnce 更新策略。
示例
下面的代码示例阐释了 ClickOnce 部署清单中的 deployment 元素。该示例使用 deploymentProvider 元素指示首选的更新位置。该代码示例摘自为 ClickOnce 部署清单主题提供的一个更大示例。
<deployment install="true" minimumRequiredVersion="2.0.0.0" mapFileExtension="true" trustUrlParameters="true">
<subscription>
<update>
<expiration maximumAge="6" unit="hours" />
</update>
</subscription>
<deploymentProvider codebase="http://www.adatum.com/MyApplication.application" />
</deployment>