如何使用 msiexec 将 MSI 安装到自定义目录?

如何使用 msiexec 将 MSI 安装到自定义目录?

这是我尝试在 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"

ARGs:

  • TARGETDIR,,,,,,,INSTALLDIRINSTALLPATHINSTALLFOLDERINSTALLLOCATIONAPPLICATIONFOLDERAPPDIR
    • 在与参数设置相同的驱动器上运行时:安装在该驱动器的默认文件夹中(例如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

为了使其正常工作,您需要执行以下步骤:

  1. 获取安装程序中使用的公共属性列表.msi
    • PS >.\YourAppInstaller.msi /lp! YourAppInstall.log
    • 取消安装;
  2. .log在上一步生成的文件中查找公共属性;
  3. .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\`"

这样它就会明白你想把它安装在哪里。

相关内容