我创建了一个将vb组件复制到windows的system32文件夹并使用“regsvr32”注册这些组件的应用程序。它在Window XP中运行良好,但在Windows Vista和Windows7中,如果不右键单击应用程序.exe文件并选择“以管理员身份运行”,则无法执行其任务。是否有任何代码在vb中自动允许应用程序.exe文件以管理员身份运行?
答案 0 :(得分:6)
要准确地执行您的要求,您可以添加一个应用程序清单,在其中指定执行级别“requireAdministrator”。但是,这意味着应用程序将始终运行提升,并且用户还必须提供管理员凭据或批准每次运行的提升执行(UAC提示)。
请以正确的方式做事。
答案 1 :(得分:3)
我将在上面提出Bob的优秀评论,并建议你使用像Inno Setup http://www.jrsoftware.org这样的工具(它是免费的)来构建一个合适的安装程序。使用正确的设置工具的一个好处是,安装应用程序可以请求操作系统以管理权限运行,而无需使用外部文件和清单来实现这一点。您构建的setup.exe将具有内置的必要代码,以向操作系统请求提升权限。
答案 2 :(得分:1)
在Windows 7中,我们可以转到文件或应用程序exe文件的属性,然后转到“兼容性”选项卡。然后选中“以管理员身份运行此程序”。 它将强制应用程序在管理员权限下执行。 我用过这个,问题解决了。