首页 > 解决方案 > 使用 msiexec 静默安装 MSI 时出现问题,可能是语法问题?

问题描述

本质上,我想静默安装一个 msi 文件,并且我已经使用以下行让它工作:

msiexec /i C:\Users\%username%\Downloads\mysqlODBC.msi /passive

我想做的一个补充是在该行的用户名部分添加双引号,以确保正确读取任何可能包含空格的用户名。----> "%用户名%"

问题是添加此文件时无法安装 msi 文件。在编写带有目录的批处理脚本时,我一直使用它。知道如何解决这个问题以与 msiexec 一起工作吗?

链接到我试图悄悄安装的 MSI 文件:

https://dev.mysql.com/downloads/file/?id=484649

标签: batch-filewindows-installer

解决方案


网络安装点?: 我不太清楚你想要达到什么目的。您想在多台机器上自动安装此 MSI 吗?如果是这样,您应该创建一个可通过 UNC 路径访问的网络安装点并运行管理映像以提取所有文件并创建一个可用于所有计算机的网络安装点:

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.exemsiexec.exe :有关命令行的更多详细信息,请参阅此答案: MSIEXEC what is the difference between qn and quiet。它有两种不同的风格——两组不同的开关:旧式和一些更新的、“更友好”的版本。我只使用旧式开关。有一个工具可以用来生成命令行


一些链接


推荐阅读