确定要从命令行安装的MSI中功能的名称


12

我正在尝试从MSI软件包安装应用程序(SalesLogix 7.2管理工具和服务器),但只想安装特定功能。如何确定功能名称,以便尝试使用ADDLOCAL参数?

SLX MSI选择

Answers:


10

您可以在详细日志记录模式下运行安装程序

msiexec /i product.msi /l*v log.txt

然后ADDLOCAL在日志中查找对属性的更改。因此,您将能够通过GUI中的上述选择来确定安装了哪些功能。

否则,您可以按照jscott的建议使用Orca并自己分析软件包。尽管我认为使用详细日志是更简单的解决方案,并且您不会错过添加功能以获得正常安装的功能。ADDLOCAL


1
完善。工作了请客。ADDLOCAL=Common,Administrator,Architect
Cylindric 2012年

乐意效劳!;)
Alexey Ivanov

5

获取Microsoft的orca.exe副本-这是一个简单的MSI编辑器。那里还有其他编辑器应该也可以正常工作。在Orca中打开MSI,然后检查Feature表格。该表将列出所有可用功能集,前提是供应商在打包安装程序时使用了它们。


2

最简单的方法是与应用程序供应商联系,找出命令行开关是什么。话虽如此,有时供应商选择不提供该信息。在这种情况下,我喜欢使用Process Monitor来观察安装过程。

大多数安装程序都以相同的方式工作。您下载一个文件,该文件会将所有实际的安装文件提取到一个临时目录中。由于我们需要查看安装程序的提取位置,因此请在启动安装程序后立即使用进程监视器对其进行观察。不要继续安装程序,也不要退出安装程序。采取任何一种措施都将导致临时文件被删除。从temp目录复制所有提取的文件。您将使用这些文件作为自定义安装程序。找到特定进程之后(在“进程监视器”中),过滤掉所有其他进程。然后,您可以在继续安装过程时观察该过程。您正在寻找的是一个msiexec命令,该命令调用您所请求功能的安装。

这可能是一个耗时的反复试验过程,但是我在定制应用程序的安装方面取得了巨大的成功,而这些应用程序的供应商并不提供该信息。


2
使用Process Monitor可能会带来痛苦的体验(尤其是如果您以前从未使用过的话)。首先,我建议使用“ 从窗口包括进程”命令选择安装程序窗口(单击并按住图标并拖动到安装程序应用程序窗口)。这将捕获安装程序的进程ID。然后,您可以使用filter命令来过滤除该进程以外的所有内容。此外,我关闭了除进程和线程活动以外的所有内容。
newmanth 2012年

1

您可能会发现MSI安装程序支持msiexec 管理安装选项msiexec /a <yourpackage.msi>。这将运行安装程序,但不会实际安装软件包,而是会为软件生成一个安装点,并使用您指定的选项进行自定义。然后,您可以按照通常部署软件的方式来部署在指定安装点创建的.msi。

这在很大程度上取决于供应商提供的支持,因此,根据@newmanth的回答,您可能需要致电供应商,并查看他们支持的部署选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.