我有一個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