我正在尝试使用msiexec来安装软件包。我从Windows Vista中的批处理文件中提供命令。给定的MSI文件名有很多空格。 网上的一些帖子说msi文件名不应该有空格。但是这个包及其相关的附加组件都有其空格的MSI文件名。我该怎么办? 我试过这个引号的多种变体,但都没有奏效。 :(
msiexec / i“%~dp0 \ PackageDirectory \”包文件名.msi“”
PackageDirectory位于运行批处理脚本的目录中。
答案 0 :(得分:0)
如评论中所建议,您只需将完整路径用双引号引起来,如下所示:
msiexec /i "%~dp0\PackageDirectory\Package File Name.msi"
对于属性来说,这可能会变得更加复杂,因为可能需要附加反引号来使每个双引号转义,例如:
msiexec /i "%~dp0\PackageDirectory\Package File Name.msi" INSTALLDIR=`"[Destination Path With Spaces]`"
有关第二期的更多信息: Command line arguments for msiexec break on powershell if they contain space