使用 MSI 编辑器(例如 MS Orca)配置 Cisco Jabber

Posted

技术标签:

【中文标题】使用 MSI 编辑器(例如 MS Orca)配置 Cisco Jabber【英文标题】:Configure Cisco Jabber with MSI Editor (e.g. MS Orca) 【发布时间】:2018-05-27 14:58:26 【问题描述】:

我想配置 Cisco Jabber 并在 Cisco Jabber 中启用 PickupGroup 和 HuntGroup 功能。为此,我必须在 C:\Program Files(x86)\Cisco Systems\Cisco Jabber 中调整一个 xml 文件 (jabber-config-defaults.xml)。我必须粘贴这段代码

<userConfig name="EnableCallPickup" value="True"/>
<userConfig name="EnableHuntGroup" value="True"/>

但是应该不需要对 xml 文件进行后续调整。为此,我必须使用 msi 编辑器 z.b。 ms orca 或 pantaray superorca 并更改参数。

问:我必须在 MSI-Editor 中更改哪些参数才能启用 PickupGroup 和 HuntGroup,而无需在安装后调整 xml 文件?

【问题讨论】:

这个问题的问题在于它与开发无关,而是与配置思科的MSI文件有关。除此之外,Xml 文件很可能位于嵌入在 MSI 文件中的 CAB 文件中,而这不是诸如 Orca 之类的 MSI 编辑器可以更改的内容。另请注意,如果 Cisco 已对其 MSI 文件进行了证书签名,那么对其进行更改将破坏该证书签名检查 - 您基本上是在破解另一家公司的已签名 MSI 文件,这相当棘手。 【参考方案1】:

更新:检查是否有可供管理员使用的有关部署的文档 - 或致电其支持部门。此类文档中通常包含有关如何最好地部署软件的提示或建议。它可以像设置一些 PUBLIC 属性一样简单:

注意!不是实际参数,只是一个示例,查看文档:

 msiexec.exe /i YourPackage.msi ENABLECALLPICKUP=1 ENABLEHUNTGROUP=1

以下答案试图详细解释 MSI 安装的自定义 - PUBLIC PROPERTIES、transforms 等:How to make better use of MSI files


搞定:如果没有实际的 MSI,总是很难说最好的方法是什么。一种更简单的方法——在我看来,如果你正在做一个公司包——是为你的包制作一个管理员图像。从技术上讲,这不是最好的方法,但它通常可以完成工作:

 msiexec.exe /a YourPackage.msi

然后以交互方式为您的设置选择一个提取文件夹。或者,如果没有 GUI,请在提取命令中指定输出路径:

 msiexec.exe /a YourPackage.msi TARGETDIR=C:\MyExtractedFiles

如果 MSI 包含在 EXE 文件中,请尝试这个相当混乱的答案:Extract MSI from EXE。

现在您可以在提取的文件中找到有问题的 XML,并且可以“修复”文件的内容——前提是它确实存在于磁盘上。然后,您从您创建的管理映像在您的工作站上运行安装 - 通过 SCCM 或其他一些部署机制。

生成的 XML:也有可能是提取中没有 XML 文件,而是由自定义操作或第三方 XML 写入机制写入(例如来自 WiX、Installshield、Advanced Installer 等...)。没有 MSI,我无法判断。然后,您需要更新 MSI 中的自定义表以设置相关设置,或者在供应商自行开发的自定义操作的情况下,对使用您自己的自定义操作编写的文件进行后处理。这可能需要相当长的时间。您也许可以使用 WiX 进行后期处理,但这并不是完全可以调整的。


升级警告:当您“热修复”要安装的 XML 文件时,您应该知道在升级时覆盖它并不容易。从技术上讲,将 XML 文件条目转换为 WiX XML 更新语句(或其他部署工具中的等效语句)更好,因为这使您可以准确地“查明”文件中的更改,而不必担心文件覆盖情况(这可能很难解决)。本质上:具有不同修改和更改日期的文件默认不会被 Windows Installer 覆盖(这是一个很长的故事,需要处理很多惊喜)。

仅限重大升级:如果您使用重大升级来升级您的应用程序,并且在安装新版本之前完全卸载旧版本(RemoveExistingProducts 的早期位置在InstallExecuteSequence) 中,那么您通常不会看到用新设置覆盖设置的任何问题,因为更改会在卸载时被清除 - 删除 - 并且默认内容是全新安装的(还原,未覆盖) - 这实际上是人们不期望这种行为时的常见问题。安装后用户是否会更改配置文件 - 以您希望保留的方式?


有关管理安装的更多信息:

What is the purpose of administrative installation initiated using msiexec /a? Extract MSI from EXE

【讨论】:

以上是关于使用 MSI 编辑器(例如 MS Orca)配置 Cisco Jabber的主要内容,如果未能解决你的问题,请参考以下文章

MSI 安装被自定义操作 DLL 中断

如何将版本号添加到 .msi 中的 Access 文件

通过MSI属性指定MSI转换

如何让 InstallShield LE 自动卸载现有安装?

如何保护 MSI 免受修改

将 MSIUSEREALADMINDETECTION 添加到 MSI 的脚本