当PROPERTY = value包含引号内的空格时,MSIEXEC未安装

时间:2019-03-15 06:07:44

标签: windows powershell windows-installer

试图在Powershell中运行此特定的msiexec命令对我而言正变得越来越令人沮丧。在删除最终的“ Practice CS”后运行以下命令时,该命令非常有用。添加“ Practice 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路径有效。在开始和结束时使用该路径可使安装程序正常工作。

有人知道为什么吗?

0 个答案:

没有答案