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

我试图从MSI包安装应用程序(SalesLogix 7.2pipe理工具和服务器),但只想安装一个特定的function。 如何确定function名称,以便我可以尝试使用ADDLOCAL参数?

SLX MSI选择

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

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

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

    否则,可以按照jscott的build议使用Orca并自行分析软件包。 虽然我认为使用详细的日志是更简单的解决scheme,您不会错过要添加到ADDLOCAL以获取工作安装的function。

    获取微软的orca.exe的副本 – 这是一个简单的MSI编辑器。 还有其他编辑应该为此工作。 打开Orca中的MSI,并检查Feature表。 此表将列出所有可用的function集,只要供应商使用它们打包安装程序。

    最简单的方法是联系应用程序供应商,并找出命令行开关是什么。 有了这个说法,有时供应商select不提供这些信息。 在这种情况下,我喜欢使用Process Monitor来观察安装过程。

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

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

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

    这在很大程度上取决于供应商包括的支持,因此per @ newmanth的答案可能需要致电供应商,看他们支持哪些部署选项。