首页 > 解决方案 > 当 PROPERTY=value 包含引号内的空格时,MSIEXEC 未安装

问题描述

尝试在 powershell 中运行这个特定的 msiexec 命令正成为我越来越沮丧的根源。在删除最终的“练习 CS”的情况下运行以下命令时,该命令效果很好。一旦我添加了“练习 CS”,MSI 帮助窗口就会出现,并且该命令不会安装。此外,简单地删除空间并尝试使用“PracticeCS”也可以。空间本身正在杀死 msi 进程。它在引号内,因此它应该根据所有可用的帮助工作。

msiexec /i PracticeCS.msi SHAREDFILESDIR='\\deployment.contoso.local\d$\Applications\Company\WinCSI\Practice CS\'

编辑 1: 我让它与调用运算符 & 一起工作。我不确定为什么下面的行有效,但确实有效。

& msiexec /i "\\deployment.contoso.local\d$\Applications\company\wincsi\Practice CS\desktop\MSI\PracticeCS.msi" SHAREDFILESDIR=`"\\deployment.contoso.local\d$\Applications\company\wincsi\Practice CS`" 

(想象最后只有一个反引号。无法正确显示标点符号)

请注意,第一个/i文件路径仅使用常规双引号即可正常工作。

路径 SHAREDFILESDIR 在使用结合反引号和双引号 ` 和 " 的调用运算符时起作用。在开始和结束时使用它可以使安装程序正常工作。

有谁知道为什么?

标签: windowspowershellwindows-installer

解决方案


推荐阅读