如何:为 ClickOnce 部署中的各个系统必备项指定一个支持 URL

更新:2007 年 11 月

应用程序部署必备中所述,ClickOnce 部署可以测试必须在客户端计算机上可用以便 ClickOnce 应用程序可以运行的许多系统必备。这些系统必备包括所需的最低版本的 .NET Framework、操作系统的版本,以及必须在全局程序集缓存 (GAC) 中预先安装的任何程序集。但是,ClickOnce 本身无法安装这些系统必备;如果找不到某个系统必备,它只是简单地停止安装,并显示一个对话框,解释安装为何失败。

安装系统必备有两种方法。可以按照上述指定文档中的说明使用引导应用程序安装系统必备。或者,可以为个别系统必备指定支持 URL;如果未找到系统必备,将在对话框上向用户显示该 URL。该 URL 引用的页面可以包含有关安装必需的系统必备说明的链接。如果应用程序没有为单个系统必备指定支持 URL,则 ClickOnce 会显示部署清单中为整个应用程序指定的支持 URL(若已定义的话)。

虽然 Visual Studio、Mage.exe 和 MageUI.exe 均可用于生成 ClickOnce 部署,但这些工具都不直接支持为个别系统必备指定支持 URL。本文档描述了如何修改部署的应用程序清单,以包含这些支持 URL。

为单个系统必备指定支持 URL

  1. 在文本编辑器中打开 ClickOnce 应用程序的应用程序清单。

  2. 对于操作系统必备,请将 supportUrl 属性添加到 dependentOS 元素中:

     <dependency>
        <dependentOS supportUrl="http://www.adatum.com/MyApplication/wrongOSFound.htm">
          <osVersionInfo>
            <os majorVersion="4" minorVersion="0" servicePackMajor="0" servicePackMinor="0" />
          </osVersionInfo>
        </dependentOS>
      </dependency>
    
  3. 对于特定版本的公共语言运行库的系统必备,请将 supportUrl 属性添加到指定公共语言运行库依赖项的 dependentAssembly 项中:

      <dependency>
        <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" supportUrl=" http://www.adatum.com/MyApplication/wrongClrVersionFound.htm">
          <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.40607.0" />
        </dependentAssembly>
      </dependency>
    
  4. 对于必须预先安装在全局程序集缓存中的程序集的系统必备,请设置指定必需程序集的 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>
    
  5. 手动修改了应用程序清单后,必须使用数字证书对应用程序清单进行重新签名,然后重新生成部署清单并重新签名。由于使用 Visual Studio 重新生成这些文件会清除手动更改,因此,必须使用 Mage.exe 或 MageUI.exe SDK 工具来完成此项任务。有关使用 MageUI.exe 对清单签名和生成清单的更多信息,请参见清单生成和编辑工具 (Mage.exe)演练:手动部署 ClickOnce 应用程序

安全性

如果应用程序被标记为以部分信任运行,则对话框中不显示支持 URL。

请参见

概念

ClickOnce 部署和 Authenticode

ClickOnce 部署概述