我正在尝试创建一个批处理文件来运行无人参与的Adobe Reader 9安装(它是一个MSI文件)
我的问题在于UAC。如果我发出这样的命令:
msiexec.exe /i "AcroRead.msi" EULA_ACCEPT=1 ALLUSERS=1 /passive
安装运行正常,但我必须在它做任何事之前接受UAC。如果我用/ a替换/ i,它会跳过UAC,它似乎正在安装,但是当它完成时,它根本没有安装程序!没有错误消息或什么都没有,它不会出现在添加/删除程序上。
如果我使用/ a开关,它可能会安装到错误的配置文件吗?
我对脚本非常陌生,所以我拥有的大部分信息都是我可以从谷歌中搜集出来的。
我知道有一些方法可以从批处理中禁用UAC,但如果可能的话,我希望避免这种情况。
我在虚拟的Win7 x64 sp1机器上这样做。
答案 0 :(得分:0)
无论您是通过批处理脚本启动安装程序还是双击Windows资源管理器中的AcroRead.msi文件,任何软件安装都应提示输入管理员凭据。这就是Windows上的权限如何工作,说实话,我不希望系统可以通过终端绕过而不提示凭据。我不相信有任何解决方法。
尝试删除/passive
,因为这可能会抑制错误消息。还要在批处理脚本的末尾插入pause
语句,以便在命令提示符关闭之前阅读错误消息。
编辑: 以管理员身份运行批处理脚本。这与使用/ a命令运行msiexec不同。这将在脚本开头打开UAC提示符,如果经过身份验证,则将使用管理员权限运行批处理文件的其余部分。
答案 1 :(得分:0)
/a
不用于正常安装。它将生成administrative installation。 “网络”安装,允许其他用户从公共存储库安装。