2013-01-24 146 views
4

我被困在一些UAC問題(我猜)。Inno-Setup和Windows UAC屏蔽

我的問題是:在某些應用程序中這個UAC Shield圖標是什麼意思。我如何將這個圖標放到我的Inno-Setup setup.exe中?

+2

這意味着,特定的應用程序需要管理權限才能運行 - 但它是由用戶或特定應用程序安裝程序自定義設置的。它可以添加到註冊表中,但鏈接到特定目錄中的特定文件。 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers'' PATH \ EXENAME'' RUNASADMIN'。對於'PrivilegesRequired'的Inno Setup默認值是'Admin',因此無論如何UAC彈出窗口都會被觸發(即使沒有爲安裝程序圖標顯示UAC Shield)。 – RobeN

+0

好的,謝謝你的回答。 這意味着,圖標不是應用程序內部的「內部」。只是您提到的註冊表項中的條目?! –

+0

是的,您可以通過在文件屬性(EXE/Shortcut => Properties => Compatibility Tab中的PPM)中設置RUN AS ADMINISTRATOR來設置它 - 它將字符串添加到註冊表中,或者通過將字符串自己添加到註冊表中(如果您編寫應用程序的安裝程序相當陳舊,需要管理員權限,例如因爲保護系統)。 – RobeN

回答

5

默認情況下,Inno Setup安裝程序需要管理權限(如果未由安裝程序創建者自定義)。如果用戶未在Windows中更改UAC設置,則會觸發UAC彈出窗口。

http://www.jrsoftware.org/ishelp/index.php?topic=setup_privilegesrequired

[Setup]PrivilegesRequired

有效值: nonepoweruseradmin,或lowest

默認值: admin

描述: 的EF此指令的作用取決於用戶正在運行的Windows版本:

+1

請注意,這不會在運行時提升盾牌圖標。您不應該以管理員的身份明確運行Inno安裝程序。 – Deanna

+0

但InnoSetup setup.exe沒有包含這個清單,賴特?因爲沒有可見的UAC Shield圖標。 哎呀,遲到:-)問題已經回答。 –

+0

@Deanna,它爲什麼在運行時升級?,你能指出這種行爲的基本原理嗎? –