2012-05-25 26 views
1

我打開使用安裝程序腳本nsis的文件,我需要打開它作爲管理員才能正常運行,但我似乎無法弄清楚如何做這個。如何使用NSIS作爲管理員打開文件

目前我的開放代碼如下所示:

FileOpen $4 "$R0" w 
FileRead $4 $1 
FileClose $4 

它打開,但作爲一個普通用戶,我需要它是作爲管理員。有沒有辦法做到這一點??在此先感謝您的幫助!

回答

4

無法在普通應用程序中以不同的用戶身份打開文件。如果您需要這種力量的整個安裝程序可能需要to run elevated

Outfile RequireAdmin.exe 
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on) 

!include LogicLib.nsh 

Function .onInit 
UserInfo::GetAccountType 
pop $0 
${If} $0 != "admin" ;Require admin rights on NT4+ 
    MessageBox mb_iconstop "Administrator rights required!" 
    SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED 
    Quit 
${EndIf} 
FunctionEnd 

Page InstFile 

Section 
SectionEnd 
+0

這是千真萬確的:一個進程有其整個生命過程中只有一個安全令牌。因此,一個進程具有管理員權限或者沒有這些權限。 –

+0

我試圖獲得與右鍵單擊該文件並選擇以管理員身份運行相同的效果。 –

+0

只需使用此答案中的代碼,然後... – Anders

相關問題