Windows Vista 上的 ClickOnce 部署

在 Visual Studio 中构建用于 Windows Vista 上的用户帐户控制 (UAC) 的应用程序通常会生成嵌入式清单,并将它作为应用程序的可执行文件中的二进制 XML 数据进行编码。 由于 ClickOnce 和免注册 COM 应用程序要求外部清单,因此 Visual Studio 将为这些项目类型生成一个包含 UAC 数据的文件,而不是生成嵌入式清单。 默认情况下,Visual Studio 使用名为 app.manifest 的文件中的信息生成外部 UAC 清单信息(针对 ClickOnce 和免注册 COM 部署),或将它嵌入到应用程序的可执行文件中(针对所有其他情况)。 Visual Studio 提供用于生成清单的下列选项:

  • 使用嵌入式清单。 在应用程序的可执行文件中嵌入 UAC 数据并以普通用户的身份运行。

    此为默认设置(除非使用 ClickOnce)。 此设置将支持在 Windows Vista 上使用 Visual Studio 的常规方式;即生成内部清单和外部清单都将使用 AsInvoker。

  • 使用外部清单。 使用 app.manifest 生成外部清单。

    这只会通过使用 app.manifest 中的信息来生成外部清单。 当使用 ClickOnce 或免注册 COM 发布应用程序时,Visual Studio 将 app.manifest 文件添加到项目中,并添加此选项。

  • 不使用清单。 在不使用清单的情况下创建应用程序。

    此方法也称作“虚拟化”。 使用此选项可以保持与使用 Visual Studio 早期版本创建的现有应用程序兼容。

在“项目设计器”(仅针对 Visual C# 项目)的**“应用程序”**页上提供了新属性,这些属性是以 MSBuild 项目文件格式编写的。

请注意,在 Visual Studio IDE 中配置 UAC 清单生成的方法将视项目类型(Visual C# 和 Visual Basic)的不同而异。

有关配置 Visual C# 项目以生成清单的信息,请参见“项目设计器”->“应用程序”页 (C#)

有关配置 Visual Basic 项目以生成清单的信息,请参见“项目设计器” ->“应用程序”页 (Visual Basic)

请参见

参考

“项目设计器”->“应用程序”页 (C#)

“项目设计器” ->“应用程序”页 (Visual Basic)

概念

ClickOnce 安全和部署

User Rights and Visual Studio