为 ClickOnce 部署中的各个系统必备指定支持 URL
ClickOnce 部署可以测试许多必备组件,这些必备组件必须在客户端计算机上提供,这样 ClickOnce 应用程序才能运行。 这些依赖项包括所需的最低版本 .NET Framework、操作系统版本,以及必须预安装在全局程序集缓存 (GAC) 中的程序集。 但是,ClickOnce 无法自行安装所有这些必备组件;如果找不到必备组件,只会停止安装并显示一个对话框,说明安装失败的原因。
有两种方法可用于安装必备组件。 可以使用引导程序应用安装它们。 或者,可以指定单个必备组件的支持 URL,如果找不到必备组件,将会在对话框中向用户显示。 该 URL 引用的页面可以包含指向安装所需必备组件的说明的链接。 如果应用程序未指定单个必备组件的支持 URL,则 ClickOnce 显示在部署清单中为整个应用程序指定的支持 URL(如果已定义)。
虽然 Visual Studio、Mage.exe 和 MageUI.exe 都可用于生成 ClickOnce 部署,但这些工具都不直接支持为各个必备组件指定支持 URL。 本文档介绍如何修改部署的应用程序清单和部署清单,以包含这些支持 URL。
为各个必备组件指定一个支持 URL
在文本编辑器中打开 ClickOnce 应用程序的应用程序清单(.manifest 文件)。
对于操作系统必备组件,将
supportUrl
属性添加到dependentOS
元素:<dependency> <dependentOS supportUrl="http://www.adatum.com/MyApplication/wrongOSFound.htm"> <osVersionInfo> <os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" servicePackMinor="0" /> </osVersionInfo> </dependentOS> </dependency>
对于特定版本公共语言运行时的必备组件,将
supportUrl
属性添加到指定公共语言运行时依赖项的dependentAssembly
条目:<dependency> <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" supportUrl=" http://www.adatum.com/MyApplication/wrongClrVersionFound.htm"> <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" /> </dependentAssembly> </dependency>
对于必须预安装在全局程序集缓存中的程序集必备组件,请为指定所需程序集的
dependentAssembly
元素设置supportUrl
:<dependency> <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" supportUrl=" http://www.adatum.com/MyApplication/missingSampleGACAssembly.htm"> <assemblyIdentity name="SampleGACAssembly" version="5.0.0.0" publicKeyToken="04529dfb5da245c5" processorArchitecture="msil" language="neutral" /> </dependentAssembly> </dependency>
可选。 对于面向 .NET Framework 4 的应用程序,在文本编辑器中打开 ClickOnce 应用程序的部署清单(.application 文件)。
对于 .NET Framework 4 必备组件,将
supportUrl
属性添加到compatibleFrameworks
元素:<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2" supportUrl="http://adatum.com/MyApplication/CompatibleFrameworks.htm"> <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" /> <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" /> </compatibleFrameworks>
手动更改应用程序清单后,必须使用数字证书对应用程序清单重新签名,然后更新部署清单并重新签名。 使用 Mage.exe 或 MageUI.exe SDK 工具来完成此任务,因为使用 Visual Studio 重新生成这些文件会清除手动更改。 有关使用 Mage.exe 清单进行重新签名的详细信息,请参阅如何:为应用程序和部署清单重新签名。
.NET Framework 安全性
如果将应用程序标记为以部分信任方式运行,则支持 URL 不会显示在对话框中。
相关内容
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈