我正在尝试使用带有RunAsW插件的NSIS设置一个打开文件夹权限(即Everyone具有完全访问权限),该插件以提升的用户权限调用cscript.exe。
如下:
Function ReplaceEXE
ClearErrors
SetOutPath '$TEMP'
File 'RunAs.dll'
File 'C:\WINDOWS\system32\cscript.exe'
StrCpy $1 "adminaccount"
StrCpy $2 "!adminpassword"
StrCpy $3 '"$TEMP\C:\WINDOWS\system32\cscript.exe" //Nologo XCACLS.vbs "C:\OpenAccessFolder" /F /T /E /G Everyone:M'
StrCpy $4 0
System::Call 'RunAs::RunAsW(w r1,w r2,w r3,*w .r4) i .r0 ? u'
DetailPrint "Permissions have been edited correctly"
DetailPrint "End installation"
FunctionEnd
答案 0 :(得分:5)
您应该使用AccessControl plug-in在NSIS中设置权限。
如果您需要administrator privileges,您应该在安装程序开始时提出要求......