基本上,我想以静默方式安装msi文件,并且可以使用以下行使其工作:
msiexec /i C:\Users\%username%\Downloads\mysqlODBC.msi /passive
我要添加的另一项是在该行的用户名部分添加双引号,以确保正确读取可能包含空格的所有用户名。 ---->“%username%”
问题是添加此文件时msi文件无法安装。在编写带有目录的批处理脚本时,我一直使用此功能。知道如何解决与msiexec一起使用的问题吗?
链接到我正在尝试悄悄安装的MSI文件:
答案 0 :(得分:1)
网络安装点? :对我来说,您还不清楚要实现什么目标。您要在许多计算机上自动安装该MSI吗?如果是这样,您应该创建可通过UNC路径访问的网络安装点,然后运行administrative image提取所有文件并创建可用于所有计算机的网络安装点:
msiexec.exe /i "\\Server\Share\Setup.msi" /QN /L*V "C:\Temp\msilog.log"
如果您具有注入点,则实际上没有理由为每个用户创建一个文件夹。为什么要复制安装文件?当然,您不希望每个用户都下载安装程序吗?您想一次下载,进行恶意软件检查,然后完全依靠一次下载的内容吗?
无论如何,如果您坚持:
msiexec.exe /i "\\Server\Share\%username%\Setup.msi" /QN /L*V "C:\Temp\msilog.log"
快速参数说明 :
/i = run install sequence
/QN = run completely silently
/L*V "C:\Temp\msilog.log"= verbose logging at specified path
msiexec.exe :在 msiexec.exe
命令行上,请参见以下答案以获取更多详细信息: {{ 3}} 。它有两种不同的风格-两套不同的开关:旧样式和一些较新的“更友好”版本。我只使用旧式开关。 MSIEXEC what is the difference between qn and quiet。
某些链接 :
答案 1 :(得分:0)
pushd "C:\Users\%username%\Downloads\"
msiexec.exe /a "mysqlODBC.msi" /quiet /norestart /log "%cd%\msiexec_install.log"
popd
虽然完全合格的路径应该能够放在双引号之间,但是另一种选择是使用pushd
和popd
从包含MSI的目录移至。 / p>
在上面的示例中,我用/passive
替换了进度条(又名/quiet
)。我也习惯于使用/a
而不是/i
-都可以用来安装。并且我包括了一个日志到文件选项,该选项在故障排除中很有用。