我怎么知道我是否需要一个用于UAC目的的Manifest for .NET应用程序?

时间:2012-06-18 15:52:28

标签: .net uac

是否有规则或指南来了解UAC目的是否需要.NET应用程序清单?

我有一个写入注册表的应用程序(HKLM> Software> yadda yadda)并执行文件I / O.我不确定它是否需要表现出来。文件I / O可能是网络共享(尽管应用程序本身会提示用户提供凭据)或本地。

如果我不确定,我宁愿不把它设置到最高水平。

1 个答案:

答案 0 :(得分:1)

您应该包含清单。如果你不想总是要求提升你不需要,你可以要求asInvoker或者最高可用。如果您的应用程序没有提升而无法运行,那么除了更改应用程序之外,您可能别无选择。

我在尝试学习这些东西时发现了几个非常方便的网站。

该网站对UAC如何工作以及如何预期它会影响您的应用程序有一个很好的解释:

每个软件工程师必须了解的关于Windows Vista的内容 http://codefromthe70s.org/vistatutorial.aspx

我还发现这篇关于清单有用的博客文章:

几个应用程序清单之谜和问题的答案 http://blogs.msdn.com/b/patricka/archive/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions.aspx

至于你的具体情况,最好的办法就是尝试一下。如果您能够写入所需的注册表项和没有提升的磁盘,那么您可以将其设置为asInvoker。

只要您不尝试将任何内容保存到受限区域(如系统目录),I / O就不会出现问题。我担心我不记得写给HKLM \ Software的规则。如果没有高程就可以工作,很棒。

但我仍然会将清单作为最佳实践的问题。