我想在特定目录中安装带有msiexec的msi。我正在使用:
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb
它不能与“INSTALLDIR”一起使用,因为msi是在默认路径中安装而不是在我的特定路径中。
答案 0 :(得分:41)
使用TARGETDIR代替INSTALLDIR。请注意,TARGETDIR属性的引号仅在空格的情况下围绕路径。
msiexec / i“msi path”TARGETDIR =“C:\ myfolder”/ qb
答案 1 :(得分:14)
InstallShield 12
INSTALLDIR
表示常规基于Windows Installer(或InstallScript MSI)安装的主要产品安装目录,例如最终用户启动Setup.exe或.msi数据库。
TARGETDIR
表示InstallScript安装的安装目录,或基于管理Windows Installer的安装(当用户使用/ a命令行开关运行Setup.exe或MsiExec.exe时)。
在InstallScript MSI项目中,InstallScript变量MSI_TARGETDIR
存储管理安装的目标。
答案 2 :(得分:6)
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q
只有这种变体运作良好。
答案 3 :(得分:3)
这应该有效:
msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
答案 4 :(得分:3)
实际上,INSTALLPATH/TARGETDIR
都是正确的。这取决于MSI如何处理这个问题。
我使用wixToolSet
创建了一个MSG。在WXS文件中,有“目录”节点,其根目录可能如下所示:
<Directory Id="**TARGETDIR**" Name="SourceDir">;
如您所见:Id
是您应该使用的。
答案 5 :(得分:3)
使用INSTALLLOCATION。 遇到问题时,请使用/ lv log.txt转储详细日志。日志会告诉您是否存在会覆盖您自己的选项的属性更改。 如果您已经安装了产品,那么第二次运行可能只是更新它而不更改安装位置。您必须先卸载(使用/ x选项)。
答案 6 :(得分:2)
在我的情况下,所有这些都不起作用,最后它是
msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb
我按照ezzadeen的描述检查了log.txt,并在那里找到了“INSTALLFOLDER”。
答案 7 :(得分:1)
这个也适合我
<?php
setlocale(LC_TIME, 'es_ES');
echo strftime("%A");
?>
我曾尝试过两次其他迭代,并且都默认安装 C:\ Program Files
INSTALLDIR =“D:\ myfolder”/ q将它安装在另一个驱动器上。
答案 8 :(得分:1)
对于我的msi,我必须设置DEFAULTPATHC =“D:\ myfolder”,因为在安装过程的后期,INSTALLDIR和TARGETDIR都被重置以反映DEFAULTPATHC中的值
答案 9 :(得分:1)
使用APPLICATIONFOLDER =“ path”获取最新的msiexec
答案 10 :(得分:0)
如果您已经使用Advanced Installer
来构建.msi,则需要使用APPDIR=
答案 11 :(得分:0)
这是我尝试在管理PowerShell中使用.msi
安装msiexec
。
我已经为两个驱动器C:
和D:
(共14个)中的每一个做了7次,用不同的参数代替了ARG
,并且具有相同的期望路径值。 / p>
模板:PS C:\WINDOWS\system32> msiexec /a D:\users\username\downloads\soft\publisher\softwarename\software.msi /passive ARG="D:\Soft\publisher\softwarename"
ARG
s:
TARGETDIR
ProgramFilesFolder
(带有与
默认安装路径,例如
D:\Soft\BlenderFoundation\Blender\ProgramFilesFolder\Blender
Foundation\Blender\2.81\
)和目标位置.msi
的副本
文件夹。INSTALLDIR
,INSTALLPATH
,INSTALLFOLDER
,INSTALLLOCATION
,APPLICATIONFOLDER
,APPDIR
D:\Blender Foundation\Blender\2.81\
)答案 12 :(得分:0)
我尝试了ERROR: C:\Users\ASUS\Desktop\AndroidSDK\platforms\android-29\android.jar (The system cannot find the file specified)
,TARGETDIR
和INSTALLLOCATION
args,但仍将其安装在默认目录中。
因此,我查看了日志,并在此arg中设置了应用程序目录,并将其设置为默认值。
INSTALLDIR
因此,我将命令更改为具有MSI (s) (50:94) [09:03:13:374]: Running product '{BDAFD18D-0395-4E72-B295-1EA66A7B80CF}' with elevated privileges: Product is assigned.
MSI (s) (50:94) [09:03:13:374]: PROPERTY CHANGE: Adding APPDIR property. Its value is 'E:\RMP2'.
MSI (s) (50:94) [09:03:13:374]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'C:\Users\Administrator'.
而不是上面提到的args。它像一种魅力。
APPDIR
如果要将安装进度复制到日志文件,请添加msiexec /i "path_to_msi" APPDIR="path_to_installation_dir" /q
。