问题标签 [uac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1401 浏览

wix - 在 WIX 的命令行中指定 InstallPrivileges 是否受到限制或提升的最佳方法是什么?

我想在 WiX 中创建一个 MSI,以便它可以采用命令行参数来指示它是按机器安装还是按用户安装,因此是否引发 UAC 对话框。

实现这一目标的最佳方法是什么?

0 投票
3 回答
413 浏览

visual-studio - UAC/VS/W2K8:当我在管理员组中时,为什么 VS 不能以管理员权限启动?

带有 SP1 的 Server 2008 机器,带有 SP1 的 Visual Studio 2008。我的用户;开发人员,在本地管理员组中。也就是说,我在 Visual Studio 中执行的一些操作(使用 Web 应用程序的属性窗口来调用在本地 IIS 中创建虚拟目录)告诉我需要管理员权限。这比什么都烦,我可以通过右键单击(以管理员身份运行)启动 VS 来执行操作 - 但我很好奇是否有人知道为什么会发生这种情况?

0 投票
3 回答
391 浏览

visual-studio - VS2008,IIS7 web 项目,非管理员。什么时候?

在不以管理员身份运行的情况下,我们可以使用 Visual Studio 2008 打开托管在 IIS7 中的 Web 应用程序项目之前需要做什么?我们是在谈论等待下一个版本的 Visual Studio 吗?是否有任何现有的解决方法?

我认为上面暗示了这一点,但这与Vista有关。

谢谢。

0 投票
3 回答
1951 浏览

file - 为什么我的应用程序允许我将文件保存到 Vista 中的 Windows 和 System32 文件夹?

我有一个用 Delphi 7 编写的应用程序,它不需要管理员权限即可运行。

出于某种原因,即使应用程序没有请求 UAC 提升,我也能够从应用程序中将文件保存到 c:\windows 和 c:\windows\system32 。我以管理员身份登录并打开了 UAC,并且我没有更改任何默认 UAC 设置。这些文件实际上也显示在 Windows 资源管理器下。我没有使用“以管理员身份运行”选项。

如果我尝试在同一配置文件下使用写字板做同样的事情,我会收到预期的错误。

有什么想法吗?

如果有帮助,应用程序正在使用 Ole 结构化存储来保存并包含以下清单。

编辑:要清楚我的应用程序默认情况下不会将任何内容保存到这些位置。我通过标准文件保存对话框选择这些位置。

更新

尽管包含上述清单,但我发现了为什么我的应用程序被视为遗留应用程序。事实证明,还包括了第二个清单,它没有“trustInfo”部分。我已经删除了第二个清单,现在一切都很好。

感谢所有的帮助

0 投票
1 回答
442 浏览

.net - 在 .NET 中使用 MAPI 时如何处理用户访问控制

我使用 MAPI 从我的应用程序中创建带有附件的电子邮件,它在 XP 和 Vista(没有 UAC)上运行良好。当然,如果您启用了 UAC,它就不起作用(尽管它没有给出错误,并且不会提示用户允许继续)。

我做了一堆阅读,发现了很多不同的想法:

  • 需要应用程序的管理员权限
  • 要求应用程序具有某种形式的提升权限
  • 为需要提升的一小部分代码创建一个 COM 对象
  • 让操作系统提示用户询问他们是否要继续。

我想知道 SO 用户会做什么,因为我真的只需要提升一两个功能。我在这里寻找最小的痛苦(我不做 COM,但我可以用最好的 P/Invoke...),我正在使用 .NET 2.0(它是一个遗留应用程序) .

编辑:我同意提升整个应用程序并不是一个好主意,因为它只有一部分需要提升,但我的想法是,从长远来看,这可能比只提升其中一部分更容易。

此外,我宁愿远离 .NET SMTP 解决方案,因为我的目标只是创建一条带有附件的消息,但将其显示给用户,以便他们可以添加更多文本并在闲暇时发送。 .

0 投票
3 回答
1200 浏览

windows-vista - 如何使用 UAC 在 Vista 中获取文件的实际路径?

我正在调用 CreateFile() 在 Program Data 目录中创建一个文件。我正在使用 SHGetSpecialFolderPath() 来获取目录名称。

我有一个 Vista 用户,其 CreateFile() 返回错误 5(拒绝访问)。如果我知道 CreateFile() 实际尝试创建文件的位置会有所帮助,这样我们就可以检查他的文件夹权限。Vista (UAC) 的问题是,它没有尝试在我传入的目录中创建文件。它也可能在 VirtualStore 目录中。另一个令人困惑的原因是该用户是德国人,尽管 SHGetSpecialFolderPath() 返回“C:\Program Data\blah blah”作为路径,但我认为这实际上不是路径所在的位置。我认为 German Vista 使用德语单词来表示“程序数据”。我希望能够告诉用户“这是我们尝试创建文件的确切路径。检查您对此文件夹的权限。”

我知道您可以从打开的文件句柄中获取路径,但在这种情况下 CreateFile() 失败,所以我没有打开的句柄。如何让 Vista 告诉我它试图创建文件的实际路径?

0 投票
1 回答
1213 浏览

winapi - 为什么我可以在打开 UAC 的情况下写入 Program Files 的特定目录?

这对我来说很奇怪。让我列出设置:

  • 带有清单的应用程序(即:不会被推送到虚拟商店)
  • UAC开启(不能写入其他程序文件目录,或者其他区域,出现uac提示)
  • 可以从我的应用程序(不以管理员身份运行)以及非管理员命令提示符中写入“c:\program files\%app_name%\%directory%\”
  • 无法写入“c:\program files\%app_name%\%directory%\%subdirectory%\”。

有任何想法吗?某处是否有隐藏的权限或注册表设置?难道这个目录是在 UAC 关闭时创建的,所以现在它是公平的游戏?难道这个目录是在 XP 时代创建的,而且它的公平游戏?

为什么我不能写入其他程序文件目录和子目录对我来说很有意义。但是我不知道为什么我实际上被允许写入 %directory%?

旁注:如果我将 %directory% 移动到另一个区域(appdata),我仍然无法写入子目录(困惑)。

让我知道您可能有的任何想法或我可以检查的任何内容。

谢谢

0 投票
5 回答
533 浏览

c# - 如何在 Vista 中停止 Ideablade DevForce 写入 C:\Program Files\AppName\debuglog.xml

我有一个使用 Ideablade Devforce 作为 OR 映射器的应用程序。当应用程序启动时,它想写入 C:\Program Files\Application Name\ 中的 debuglog.xml 文件。这在 Windows XP 中运行良好,但由于 Vista 锁定了对 Program Files 的写访问权限,应用程序会抛出错误。

有没有办法阻止 Ideablade 想要写入这个文件?

或者

是否有其他地方推荐安装想要写入其安装路径中文件的应用程序?

0 投票
3 回答
1131 浏览

c++ - 在 vista 中避免 UAC

我正在编写一个应用程序,该应用程序为需要将数据保存到程序文件的程序下载和安装插件(对于有问题的程序)。现在这在禁用 uac 的 xp 和 vista 上工作正常,但是由于虚拟文件夹,它在普通 vista 上失败。

如果每次应用程序启动时都不需要请求管理员权限,如何解决这个问题?

Ps 程序是用 c++ 编写的,vis 2005

编辑:文件系统虚拟文件夹: http: //www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

0 投票
7 回答
8229 浏览

visual-studio - 如何配置 Visual Studio 在每次运行时不提示 UAC?

我最近切换到了 Vista,我想保持 UAC 开启,因为我同意它可以大大提高计算机的安全性。我经常使用的一些开发人员工具需要运行提升:

  • 适用于 Windows 的 PIX
  • Visual Studio 2005(调试和 IncrediBuild 工作似乎需要提升权限)
  • 映射和替代驱动器:提升的进程似乎看不到我在我的用户帐户中映射的驱动器。本文描述了该问题,但我不确定如何实施其最终建议以“在提升登录的上下文中映射这些驱动器”

我尝试了很多我发现的建议,兼容性管理员似乎很有希望,但结果仍然不是我想要的。当我使用RunAsInvoker 时,没有UAC 提示,但是Visual Studio 没有工作。当我使用 RunAsAdmin 或 RunAsHighest 时,它起作用了,但是有提示。

有什么方法可以教 UAC 记住某些特定的应用程序应该始终运行提升并且从不提示我这个,或者其他方式如何允许我在没有提示的情况下启动 VS 提升?如果没有办法做到这一点,是否存在无法做到的一些安全原因?