Articles of UAC

标记一个.exe请求(不要求)作为pipe理员运行

有没有办法来标记一个.EXE要求它作为pipe理员运行? 以便: 如果UAC设置为runas admin而没有任何提示 – 它以admin身份运行。 如果用户无法运行pipe理员(请求不同的login),则以用户身份运行。 如果提示,提示用户。 如果接受,以pipe理员身份运行。 如果拒绝提示,以用户身份运行。 我知道如何用2个.exe程序来做到这一点。 但是我想用一个做。 该程序input用户的许可证密钥。 在HKLM中如果应用程序具有pipe理权限(所有用户都有密钥)。 在HKCU如果没有pipe理权限。

如何为Windows安装程序创build清单?

我们为我们的应用程序提供了一个安装程序,必须下载并以pipe理员权限运行,就像许多其他安装程序一样。 但是,安装程序没有命名为“setup.exe”,因此Windows不会自动检测到它需要提升才能运行。 坦率地说,改变安装程序的名称,使事情升起听起来很乱。 这篇文章谈了很多关于UAC和提升,它说,你可以使用一个清单来做一些需要授权的东西。 所以,我们只想为我们的安装程序创build一个清单。 但是,我们如何确保清单存在? 如果用户只是下载our_application_v13.exe,我们如何确保他们获得清单呢? AFAIK清单必须是一个名为“our_application_v13.exe.manifest”的文件。 由于他们只是从我们的网站下载文件,我们如何确保他们获得清单呢? 我们可以以某种方式将其构build到可执行文件中,否则将可执行文件标记为需要提升? 我们正在使用几百年前的一个安装程序工具,我们无法更改,所以它没有任何与此相关的function。 谢谢!

Windows 7和Windows 8中的系统范围设置 – registry不再有用?

我想在目标机器上跟踪整个系统的设置 – 这是一个运行时间计数器,用于跟踪我的客户端运行我的软件的次数。 我决定把这个值放到registry中,但是我真的很想跟踪整个系统运行的次数,而不仅仅是当前的用户账号。 我希望使用HKLM来跟踪这个机器级别,但UAC现在不喜欢这个。 是否有正确的方法来读取和写入机器范围的设置?

从networking上运行的程序pipe理员提升

我的应用程序的小部分需要pipe理员权限(激活软件需要去HKLM)。 为此,我在需要pipe理权限的button上绘制盾牌图标,并在单击时使用“runas”动词再次用适当的参数重新启动应用程序。 这工作非常好! 但是,现在用户从networking共享中执行应用程序。 如果他们现在单击“pipe理员权限”button,他们会收到错误消息,因为networking驱动器未映射给pipe理员,因此无法find可执行的地址:-( 什么是最好的方法呢?

如何安装程序,以便在启动时使用Windows Vista / 7的pipe理员权限启动

我读了如何使用一个服务,但我想知道是否有可能与一个简单的应用程序。 我正在使用C#。 谢谢

ioexception:在用java编写文件时,客户不需要特权

我search了很多类似的问题,但是解决不了我的问题。 我正在试图写一个文件,这给了我错误。 我的代码 try { File f = new File(file_name); f.createNewFile(); //System.out.println("Hello"); f.setWritable(true); FileWriter fstream = new FileWriter(f); BufferedWriter out = new BufferedWriter(fstream); ListIterator<String> itr = account.listIterator();//account is a List object while (itr.hasNext()) { String element = itr.next(); out.write(element); out.newLine(); } out.close(); } catch (IOException e) { e.printStackTrace(); } 错误是 java.io.IOException: A required privilege is […]

程序(c#)运行提升,仍然无法访问某些文件

我的代码运行提升,但没有任何可以看到/执行c:\ windows \ system32 \ rstrui.exe(系统还原点用户界面)。 我仔细检查,以确保代码确实运行提升(这是),我已经testing与File.Exist()和Directory.GetFiles()和System.Diagnostics.Process.Start(); 找不到的文件是返回的。 该程序真的在那里,我可以真正运行它,我可以复制/粘贴到DOS的path,并列出它,执行它(没有隐藏的空间等)。 有任何想法吗? 解决scheme: 蒂姆(下)给了我的解决scheme,而不是引用c:\ windows \ system32引用c:\ windows \ sysnative。 “系统性”redirect,或者,不。 我仍然对x64redirect的东西感到困惑。 重点是,以下工作: Environment.GetEnvironmentVariable(“windir”)+ @“\ sysnative” 谢谢蒂姆!

UAC状态,无需读取registry

有一个简单的方法来读取registry,并从那里获得UAC状态。 唯一的问题是,如果你不是pipe理员用户或UAC是ON,那么你不能读取特定的密钥。 有没有一种方法(API等),以准确获得UAC状态,而无需阅读registry? 示例代码总是赞赏。 谢谢! 枷锁 编辑:我开始赏金。 请问如果你要回答,不要告诉我,我不应该关心UAC状态,代码应该独立于UAC,以及微软如何好好的。

C + + REG_SZ char *和读取没有提高权限的HKLM

所以我一直在试图从registry中获取一个REG_SZ值并将其存储为char *。 在环顾networking之后,我想到了这一点。 问题是,我得到的价值是不是存储在registry中,我得到一堆随机垃圾。 我将如何正确地获得价值? HKEY hKey; char value[256]; // Open the key if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\", 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS) { return ""; } // Read the value DWORD dwType = REG_SZ; DWORD dwCount = sizeof(value); if(RegQueryValueEx(hKey, "ProcessorNameString", NULL, &dwType, (LPBYTE)&value, &dwCount) != ERROR_SUCCESS) { RegCloseKey(hKey); return ""; } // Cleanup and return RegCloseKey(hKey); return […]

如何保证永久的pipe理员权限到我的WPF应用程序

我已经阅读了很多关于Windows 7 UAC evelation等的文章,但是我没有find答案来解决我的问题:如何保证我的应用程序永远是“以pipe理员身份运行”,我正在寻找一些代码片段或其他东西。 任何帮助将不胜感激。 /请不要垃圾邮件,如:“你确定你需要这个权限和访问” – 是的,我确定应用程序需要他们。