Visual C++应用程序中进行用户访问协议设置

原创
开发 后端
随着软件虚拟性和应用程序管理功能越来越重要,说明文件的使用也越来越多,用于指定应用程序营运的环境,满足其所需的安全和性能。以下为一些较新的设置,这些设置可以通过应用程序的说明文件来控制。

说明文件开始只是简单地描述执行依赖性,之后其应用越来越多。Windows Vista 和 Windows 7 还加入了一些新的说明文件元素:与并行执行无关的给你。随着软件虚拟性和应用程序管理功能越来越重要,说明文件的使用也越来越多,用于指定应用程序营运的环境,满足其所需的安全和性能。以下为一些较新的设置,这些设置可以通过应用程序的说明文件来控制。

应用程序所需的用户访问协议(User Access Control,简称 UAC)等级。有些应用程序为了正确地执行需要完全的管理员权限,对于重要的应用程序,说明文件正是一个合适的地方,可以用来请求 Windows 提示用户权限的增加。

ClickOnce 应用程序。对于 ClickOnce 应用,这些应用程序具有一种简单的安装和升级的生命周期,对传统的高权重的 MSI 安装方式的依赖更少,应用程序自身实际上是由说明文件来描述。除了依赖性的元素,ClickOnce 应用还需要指定 entryPoint 元素和 trustInfo 元素,前者用于详细地描述运行应用程序所需的执行和命令行参数,后者用于详细描述应用程序安全需求。Visual C++ 2010 不支持 IDE 内部集成的 ClickOnce 说明文件,但是在这篇 MSDN 文章中,可以找到所需的详细步骤。

DPI 虚拟化。如果在操作系统等级上激活了高 DPI 支持,并且应用程序的说明文件未表明该应用程序支持高 DPI,那么 Windows 将 在虚拟窗口中运行应用程序。DPI 虚拟化会造成一些显示上模糊,好像显示器使用了不恰当的分辨率,因此需要开发能够正确处理高 PDI 的应用程序并在说明文件中进行相关的描述。

兼容设置。每个版本的 Windows 在操作系统功能方面都存在着各种各样的改变。这是为了满足用户的预期,正如性能和稳定性的提升是所有软件升级的卖点。不幸的是,这些改善造成某些应用程序内置了对于以往性能的预期,从而会发生崩溃或者无法正确的运行,如果这种问题的影响较广或者受到了很大的关注,那么用户以及机构对于 Windows 升级的兴趣就会显著地减低。这种情况与最初引入说明文件的 SxS 问题非常类似, 所以说明文件应指定应用程序所预期的操作性版本行为。

为了到达这一目的,Windows 7 引入了一个信息兼容性说明文件,利用该元素可以“选择加入(opt-in)”的方式使用新的 Windows 7 行为。如果应用程序的说明文件不包含该元素,或者该元素为指定 Windows 7 为支持的操作系,那么将使用的 Window Vista 的行为。SDK 文档中列出了该设置所控制的所有功能。激活 Windows 7 行为的实际说明设置如下:

在 SxS 设置之外,说明文件中的 UAC 设置由图 2 中的 Linker |Manifest 属性页面控制。该 UAC 执行等级指定了应用程序执行所需的许可权限,而且 UAC Bypass UI Protection 设置指定了该应用程序是否要求与高许可权限的桌面窗口,如屏幕键盘,进行互动。

Visual C++ 应用程序的 UAC Manifest 设置

责任编辑:马沛 来源: 51CTO.com
相关推荐

2010-01-28 17:14:38

Visual C++应

2010-01-22 13:59:34

Visual C++应

2021-08-30 14:23:05

BlazorHTTP请求

2009-08-24 09:25:18

Visual C# ..NET应用程序

2011-06-21 10:28:17

Qt Visual C++

2009-06-11 13:46:38

用户访问权限GlassFish

2010-01-14 14:27:46

Visual C++访

2010-01-12 14:45:32

Visual C++

2010-01-26 17:16:33

C++应用程序

2010-01-28 09:44:08

C++应用程序

2010-01-14 11:14:47

C++应用程序

2010-01-25 16:41:08

C++应用程序

2009-12-16 15:39:37

Visual Stud

2010-01-11 11:02:59

Visual C++

2010-01-20 10:49:29

Visual C++界

2010-01-28 10:18:50

Visual StudXML编程

2009-04-12 09:25:12

Symbian诺基亚移动OS

2011-07-20 17:23:29

C++持久对象

2010-01-28 10:33:10

C++开发程序

2010-01-12 14:22:26

Visual C++
点赞
收藏

51CTO技术栈公众号