我有一个VS2010解决方案,其中包含2个项目 - 一个.NET 4程序和一个安装程序。安装程序只是一个带有必备条件的简单安装项目 - .NET Framework 4.VS2010安装项目 - 以管理员身份运行
问题是我需要安装程序setup.exe才能始终以管理员身份运行,否则安装将在UAC下失败。 (它不提示我的默认权限提升。)
我试图把一个setup.exe.manifest(如下图所示)旁边的setup.exe以迫使它以管理员身份运行,但不幸的是Windows将忽略它,很可能是因为已经有另一个清单文件嵌入setup.exe本身,并且它被设置为asInvoker而不是requireAdministrator。
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
我也尝试添加一个启动条件具有以下属性: -
(name): Elevated
Condition: Privileged
Message: This installation requires elevated permissions to continue.
这并不做任何事情无论是。
所以任何人都可以请阐明如何解决这个问题?
P.S.我知道您可以通过更改setup.exe的兼容性设置来解决此问题,但这是手动过程,无法通过自动构建过程(TFS)完成。另外,提供兼容性设置的快捷方式也很奇怪,因为没有人在同一个文件夹中提供setup.exe的快捷方式,更不用说快捷方式需要事先知道setup.exe的确切路径。 (安装包将被搬来搬去。)
编辑:顺便说一句,我的问题是,作为一个描述here如出一辙。但不幸的是,没有找到解决方案,那个人和提问者只是要求他的客户手动使用以管理员身份运行,这正是我想要避免的。
打开.vdproj文件后,我到底需要设置此属性? – jammy 2014-12-02 06:11:37
没问题,我发现它,它是右键单击和openwith notpad。 – jammy 2014-12-02 08:49:03
我有一个Windows 7,64位,俄语版本的错误,其中合并模块的安装路径不正确。如果使用管理员权限启动setup.exe,则相同的安装会正常工作。我试图改变安装行为以立即请求提升特权 - 使用“RequiresElevation”篡改,但不幸的是对于我来说这个解决方案并不起作用。 (所以立即要求提升,但它并没有帮助我解决我的问题) – TarmoPikaro 2016-09-14 11:29:10