目标:
这听起来有点奇怪,但我必须防止软件以管理权限开始。
问题:
我有一个可以很好地安装软件的设置工具。完成后,安装程序将启动软件本身。由于设置工具以管理权限运行,因此在安装后将自动启动的软件也会这样做。
但是那个程序需要的所有设置都不会在那个时候正确地写入/读取,因为由于UAC虚拟化,配置目录与用户没有管理权限的配置目录不同。
问题:
如果父进程拥有管理权限,是否有任何方法可以将管理权限降级为用户权限。 App.config中? StartParameter?或其他什么
信息:我正在使用INNOSETUP构建设置工具。
感谢您的帮助
答案 0 :(得分:5)
只需设置runasoriginaluser标志即可运行应用程序。
答案 1 :(得分:0)
是的,你可以开始一个非升级的过程,但是我不确定它是如何与InnoSetup集成的。说明为How do I start a program as the desktop user from an elevated app。
考虑使用appropriate manifest标记您的应用程序以禁止UAC虚拟化,然后在两种情况下都使用相同的目录:非提升和提升。并且更好地使用用户配置文件中的目录而不依赖于虚拟化。