我有一个执行简单系统管理任务的小.jar,因此它需要以提升的权限运行。我已经研究了几个小时,现在知道可以通过三种方式完成:1)从提升的cmd提示符运行2)将.jar转换为.exe并将其与list文件捆绑在一起3)使用另一个.jar启动我的.jar并请求许可。选项1)对我不起作用,因为这需要部署给不知道如何执行此操作的其他用户。选项2)并不理想,因为我选择用Java编写这个应用程序是为了它的可移植性。这可能会在不同的系统上运行,而Java似乎是最兼容的。这样就剩下了选项3),这就是我的问题所在。我似乎无法筛选大量关于如何为我的应用程序创建包装器的信息。考虑到我的规范,对于创建包装器.ja
我们必须使用提升来运行我们基于Java的应用程序的更新程序(因此它可以覆盖安装位置中的文件,通常是%ProgramFiles%\)。到目前为止,我使用的是请求提升并调用另一个脚本的.vbs脚本。有人告诉我,出于安全原因,某些公司不允许运行.vbs脚本。我宁愿创建一个需要提升的.exe。这就是我所做的,但现在当我尝试直接从Java启动需要提升的应用程序时,它失败并出现java.io.IOException:CreateProcesserror=740,请求的操作需要提升。如何运行这个Windows自动请求所需提升的应用程序? 最佳答案
我有一个Mutex来避免多个进程同时运行,这些进程可能会在Mutex释放后等待启动。现在我可以有一些实例试图获得一个提升的和非提升的Mutex。一旦Mutex被持有锁的进程释放,我希望提升的进程能够在非提升的进程之前获取Mutex。不太可能,但我想考虑许多未提升的实例和许多提升的实例竞争同一个互斥锁以带来强大的功能。实现该目标的稳健方法是什么?该问题的解决方案可以使用多个互斥量。我在想我可以研究这种方法,将高架和非高架区分开来,并玩点小把戏。编辑:我主要在寻找WindowsVista+的答案,但如果我们将问题减少到优先获取互斥锁的进程类别,我认为该问题适用于其他操作系统。了解其他操作系
我目前是一个基于NodeJS的小型终端应用程序,使用EncloseJS编译.我的应用程序将需要在Windows和OSX上提升权限才能工作,我如何使用Node完成此操作?我还没有找到任何让我开始的东西。谢谢, 最佳答案 对于Windows,有提供UAC控制的node-windows包。在OSX中,命令行工具的标准方式是不请求权限。工具仅使用它们获得的权限(有时通过危险的setuid标志隐含地使用),如果这还不够,它们就会失败并要求使用sudo运行。如果您的工具只需要短暂的权限(例如打开一个端口或一个secret文件),那么您可以要求它
这个问题在这里已经有了答案:UsingShellExecuteExandcapturingstandardin/out/err(5个答案)关闭5年前。我正在使用裸机Win32Api。我需要以提升的权限启动应用程序并且应用程序没有list。因此,唯一的方法是将ShellExecuteEx与runAs动词一起使用。它有效,但我需要阅读进程标准输出。通过CreateProcess,我得到了STARTUPINFO,我可以使用它来传输进程标准输出。但是ShellExecuteEx没有这样的API。那么,如何提升和重定向标准输出?
将进程提升为以管理员身份运行是行不通的。如果我从提升的命令提示符运行该应用程序,它运行良好。但是我下面的代码没有。Processsetupws=newProcess();setupws.StartInfo.FileName=@"setupws.exe";setupws.StartInfo.Verb="runas";setupws.StartInfo.UseShellExecute=true;setupws.Start();setupws.WaitForExit();setupws.exe文件运行良好,只是没有以管理员身份运行。我做错了什么?谢谢附言。我还在我的app.manifest文
是否有某种方法可以从提升的方式以非提升的方式启动流程。我的设置启动提升,当它完成时,它只会启动主应用程序。由于设置已提升,因此主进程也会提升,这是不可取的。最好的解决方案是什么? 最佳答案 这是个问题,Vista/Win7似乎没有API来获取调用CreateProcessAsUser()所需的非特权用户token。我发现的唯一解决方案涉及使用任务调度程序来启动程序。我觉得这不太实用。我想到的一个简单的解决方案是使用一个小型的非提升的辅助进程。它可以依次启动提升的设置过程并等待该过程的确认以启动非提升的设置过程。握手非常简单,可以使用
我有一个需要执行驱动程序安装程序exe文件的java应用程序。在Linux上,我们键入“gksudomyCommand”。有没有办法从Windows命令行提升权限? 最佳答案 您可以使用不同的用户在Windows中运行每个应用程序,例如行政人员。但是执行此命令的用户需要具有执行此操作的凭据。编辑:您可以提前查找Windows7和Vista中提供的用户帐户控制(UAC),如果它可能适合您的话。 关于windows-Windows7的权限提升?,我们在StackOverflow上找到一个类似
我正在尝试将Windows桌面搜索设置为使用不同于系统默认过滤器(nlhtml.dll)的html过滤器。当我查找PersistentHandler(HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html\PersistentHandler)时,它指向HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{eec97550-47a9-11cf-b952-00aa0051fe20}.我想改变上面clsid的值。以下是WiX片段但值没有改变。关于许可;只有TrustedInstaller可以完全控制此条目。Administrator
manual表示Note:ForWindowsonly:ThisfunctionrequiresPHPtoruninanelevatedmodeorwiththeUACdisabled.但在我的Windows8机器上,我可以在没有提升权限的情况下运行mklink/H,所以我不明白为什么PHP需要这个。另一方面,如果我在没有H的情况下运行mklink来创建符号链接(symboliclink),我确实需要提升权限,尽管这在symlink()的PHP文档中没有评论.我没有安装windowsPHP,所以无法对其进行测试(我想知道这如何适用于windows7、vista或其他系统)。文档有错吗?