我无法使用脚本静默安装2个文件而不会收到管理员提示。第一个文件将ini更改为程序可以升级。第二个安装新的应用程序。
然后,该脚本将删除用户桌面上的旧图标,并将其替换为新应用程序的新链接。
每当我尝试运行它时,我都会遇到可怕的UAC提示。
我尝试将batchgotadmin片段合并到我的文件顶部,但我似乎无法让它正常工作,因为我仍然得到管理员提示,我需要它以用户机器的管理员权限静默安装应用程序。
这是我现在正在使用的代码:
@echo off
:: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: Installs refresh
"\\server\share\program1.exe /VERYSILENT /LOG="c:\REFRESH.TXT"
:: Installs v8
"\\server\share\program2.exe" /VERYSILENT /LOG="C:\INSTALL.TXT" /NORESTART
:: Removes old applicationshortcut
del /Q "%allusersprofile%\desktop\program.lnk"
:: Adds new application shortcut
xcopy "c:\programfiles(x86)\program.exe" "%userprofile%\desktop"
我缺少什么使这项工作正常?