2011-08-17 28 views
6

我有一個我想從腳本運行的安裝程序。安裝程序請求UAC提升,但不需要提升,因爲我正在安裝到用戶目錄。有沒有辦法運行安裝程序,以便它不請求UAC提升?我可以停止請求UAC提升的可執行文件嗎?

腳本是用Python編寫的,所以我可以通過ctypes訪問Windows API。

更改安裝程序不是一個選項。

+0

它是什麼安裝程序?這可能是一個重複的:http://stackoverflow.com/questions/252871/make-uac-optional-in-windows-installer-on-vista –

+0

@約翰它是由Inno Setup創建的exe文件。 –

+2

[This superuser question](http://superuser.com/questions/24631/prevent-elevation-uac-for-an-application-that-doesnt-need-it)似乎是相關的。 –

回答

4

你必須在enviromnet變量__COMPAT_LAYER爲您的流程設置爲RunAsInvoker。然後你可以在沒有任何UAC提示的情況下運行可執行文件

您可以使用Windows API函數SetEnvironmentVariable來實現此目的。

+0

諾伯特,你能幫我一個忙,併發布相同的答案我的問題:http://stackoverflow.com/questions/7004310/bypassing-elevation-when-launching-a-new-process系統抱怨,因爲我避風港't接受了答案:-) –

+0

我回答了你的問題。 –

相關問題