这是我尝试在 Windows 10 上的管理 PowerShell 中.msi
进行安装。msiexec
我对 2 个驱动器分别进行了 7 次此操作 (总共 14 次),C:
使用D:
了不同的参数ARG
和相同的理想路径值。
模板:PS C:\WINDOWS\system32> msiexec /i D:\users\username\downloads\soft\publisher\softwarename\software.msi /passive ARG="D:\Soft\publisher\softwarename"
ARG
s:
TARGETDIR
,,,,,,,INSTALLDIR
INSTALLPATH
INSTALLFOLDER
INSTALLLOCATION
APPLICATIONFOLDER
APPDIR
- 在与参数设置相同的驱动器上运行时:安装在该驱动器的默认文件夹中(例如
D:\Blender Foundation\Blender\2.81\
) - 从不同的网络驱动器运行时:似乎什么也不做
- 在与参数设置相同的驱动器上运行时:安装在该驱动器的默认文件夹中(例如
有办法解决此问题吗?
更新 1
在另一个.msi
包(Blender 2.81)上测试了它,因为之前的版本构建不正确。上面列出的所有参数名称都不起作用。每个安装,即使是从驱动器安装的,也D:
都在 的默认文件夹中C:
。
更新 2
对于 Blender 2.81,我想,对于任何.msi
带有 的版本WiX
,它都是INSTALL_ROOT
。您可以尝试使用msiexec /lp! <msi_property_logfile> /i <msi_name>
来.msi
找出安装路径参数的名称。感谢颜值杨和他的回答这里。
答案1
为了使其正常工作,您需要执行以下步骤:
- 获取安装程序中使用的公共属性列表
.msi
:PS >.\YourAppInstaller.msi /lp! YourAppInstall.log
;- 取消安装;
.log
在上一步生成的文件中查找公共属性;.msi
从命令行 运行你的公共属性:- 如果您的属性值包含空格,则将其包装在反引号+引号对中 (
`"
) - 例子:
PS >.\YourAppInstaller.msi YOUR_PROP=`"value with spaces`"
- 如果您的属性值包含空格,则将其包装在反引号+引号对中 (
如果是 Blender 静默安装,要指定安装路径,您需要按如下方式调用安装程序(作为示例):
.\blender-3.4.1-windows-x64.msi INSTALL_ROOT=`"C:\Program Files\Blender Foundation\Blender\`"
这样它就会明白你想把它安装在哪里。