UnauthorizedAccessException

UnauthorizedAccessException

如果用户在文件 Microsoft.Web.Administration.ServerManager.Sites 上没有权限,是否有人会得到有关在 Win8.1(和 Win8)上访问 "%SystemRoot%\System32\inetsrv\config\redirection.config" 集合的任何提示?

因为在这种情况下用户会得到 UnauthorizedAccessException...

更重要的是,在 Win8 上,如果您的用户没有 Microsoft.Web.Administration.ServerManager 的权限,您可能会在任何 "%SystemRoot%\System32\inetsrv\config" 属性上遇到麻烦。

这在 Win7、W2008 和 W2012 上完美运行。

操作方法:http://www.iis.net/learn/manage/scripting/how-to-use-microsoftwebadministration

我需要在“客户端”步骤(在 UI 中)启动的 WiX c# 自定义操作中使用它来浏览已安装的网站和应用程序,以便对新的 WebApplication 名称进行唯一性检查。

当然,我在谷歌搜索时找不到任何相关的答案。只有几个答案,他们暗示以提升的权限启动或更改文件夹的权限,当然在常规用户设置 UI 过程中是不可行的。

例如:http://sharepointyankee.com/2011/03/30/system-unauthorizedaccessexception-filename-redirection-config/

最佳答案

仅供引用,似乎没有办法摆脱这个......

因此,我选择通过捕获 UnauthorizedAccessException 来修改我的自定义操作以忽略这种情况,并且仍然为唯一性检查设置成功并为 CA 调用返回成功。

在这种情况下,在客户端步骤中,我不会失败,因为我无法获得唯一性检查的真实结果。但是,如果它不会因 UnauthorizedAccessException 而失败,我就会得到结果,并且我可以向用户生成一个对话框,邀请他更改站点名称。

然后在服务器步骤中,顺便说一下,此检查是否有效,我进行了相同的测试,以便在网站不是唯一的情况下能够以明确的消息使设置失败。
这对于必须重新启动设置以更改站点名称的用户来说不是最好的,但它可以通过尝试创建两个具有相同名称的网站来工作并避免奇怪的失败。

关于c# - 在 Windows 8.1 上访问 Microsoft.Web.Administration.ServerManager.Site 时出现 UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33350329/

10-13 09:43