【发布时间】:2019-04-25 07:44:22
【问题描述】:
所以我正在尝试使用我的 msi 运行一个完全安装,似乎我可以轻松地为我拥有的参数传递一个数字,但我似乎无法传递一个字符串......我试过了使用单引号 ' 和双引号 "
msiexec /i 'My Installer.msi' /quiet JREPATH="c:\\BLA BLA"
这个和单引号都返回这个:
现在根据这篇文章:https://docs.microsoft.com/en-us/windows/desktop/msi/command-line-options
它应该可以工作......
文字字符串的属性值必须用引号引起来 分数。在标记之间的字符串中包含任何空格。
msiexec /i A:\Example.msi PROPERTY="Embedded White Space"
MSI 没有问题,我假设这是因为如果我传递一个数字..它可以工作...
msiexec /i 'My Installer.msi' /quiet JREPATH=3
稍后编辑:
当我在参数的值中有一个 空格 时,似乎出现了问题。例如,下面的示例可以正常工作:
msiexec /i "WKFS ReportGenerator.msi" /quiet JREPATH="c:\\;;BLA"
但这不是:
msiexec /i "WKFS ReportGenerator.msi" /quiet JREPATH="c:\\;;BLA a"
后期编辑 2:
如果使用简单的 cmd 而不是 PowerShell,这些命令包括值 work 中的空格..
【问题讨论】:
-
MSI 文件名是否用单引号而不是双引号括起来?
-
@KlausGütter 不是真的......我使用的是 PowerShell,根据我的观察,使用单引号或双引号没有任何区别..
-
@Teshte 在下面更新了我的答案,其中包含有关 Heath Stewart 的 MSI PowerShell 模块的一些信息。
标签: wix windows-installer