<deployment> 元素(ClickOnce 部署)
标识用来部署更新并向系统公开的特性。
<deployment
install
minimumRequiredVersion
mapFileExtensions
disallowUrlActivation
trustUrlParameters
>
<subscription>
<update>
<beforeApplicationStartup/>
<expiration
maximumAge
unit
/>
</update>
</subscription>
<deploymentProvider
codebase
/>
</deployment>
元素和特性
deployment 元素是必需的,它位于 urn:schemas-microsoft-com:asm.v1 命名空间中。它具有下列特性。
特性 |
说明 |
---|---|
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。发生更新检查并检测到更新的版本时,新版本会在现有版本运行的情况下进行缓存。然后新版本安装 ClickOnce 应用程序的下一次启动。
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 元素指示首选的更新位置。
<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>