如果用户没有权限访问文件 "%SystemRoot%\System32\inetsrv\config\redirection.config"
?
因为在这种情况下用户会得到UnauthorizedAccessException
...
更广泛地说,在 Win8 上,如果您的用户没有 "%SystemRoot%\System32\inetsrv\config 权限,您可能会在任何
.Microsoft.Web.Administration.ServerManager
属性上遇到麻烦"
这在 Win7、W2008 和 W2012 上完美运行..
方法:http://www.iis.net/learn/manage/scripting/how-to-use-microsoftwebadministration
我需要在“客户端”步骤(在 UI 中)启动的 WiX c# 自定义操作中使用它来浏览已安装的网站和上面的应用程序,以便对新的 WebApplication 名称进行唯一性检查。
当然,我在谷歌搜索时找不到任何相关的答案。只有几个答案,他们暗示以提升的权限启动或更改文件夹的权限,当然这在常规用户设置 UI 过程中是不可行的。
最佳答案
仅供引用,似乎没有办法摆脱这个......
因此,我选择修改我的自定义操作以通过捕获 UnauthorizedAccessException 来忽略这种情况,并且仍然为单一性检查设置成功并为 CA 调用返回成功。
在这种情况下,在客户端步骤中我不会失败,对应的是我无法获得唯一性检查的真实结果。但如果它不会因 UnauthorizedAccessException 而失败,我会得到结果,并且我可以向用户生成一个对话框,邀请他更改站点名称。
然后在服务器步骤中,顺便说一下,如果网站不是唯一的,我会进行相同的测试,以便能够通过明确的消息使设置失败。 对于必须重新启动设置才能更改网站名称的用户来说,这不是最好的选择,但它可以通过尝试创建两个具有相同名称的网站来避免奇怪的故障。
关于c# - 在 Windows 8.1 上访问 Microsoft.Web.Administration.ServerManager.Site 时发生 UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350329/