从 Wix Bootstrapper Bundle 检查文件版本
Posted
技术标签:
【中文标题】从 Wix Bootstrapper Bundle 检查文件版本【英文标题】:Check for a file version from a Wix Bootstrapper Bundle 【发布时间】:2012-09-21 14:43:14 【问题描述】:我为我的 WIX 安装程序创建了一个引导程序应用程序。我捆绑的安装程序之一需要具有基于已安装文件版本的安装条件。我无权访问相关安装程序的源代码,因此无法将条件放入该安装程序中。
我找到了in the documentation 如何在 MSI 中创建基于文件版本的条件。 ()
我的问题是如何在引导程序项目中直接使用类似的条件。
【问题讨论】:
【参考方案1】:使用来自 WixUtilExtension 的 FileSearch 将文件的版本获取到 Burn 变量中。您可以在包的 InstallCondition 中使用 Burn 变量。
【讨论】:
如何搜索不一定在固定路径中的文件版本?我有一个 Outlook 插件,要找出 Outlook 版本,我需要转到一个注册表项以查找 Outlook 当前版本,并基于此,我必须转到另一个特定于该 Outlook 版本的注册表项,它告诉我该特定版本在哪里已安装 Outlook 版本。那么我必须找到outlook.exe的版本来确定它是否是SP3【参考方案2】:正如 Bob Arnson 所说,您可以像这样在引导项目中获得一个版本
<util:FileSearch
Id="CheckVer"
Path="[CommonFilesFolder]\xyz\xyz\abc.dll"
Variable="FILEVERSION"
Result="version" />
FILEVERSION 将包含 dll 或 exe 的版本。 如文档中所述 FileSearch Element
【讨论】:
以上是关于从 Wix Bootstrapper Bundle 检查文件版本的主要内容,如果未能解决你的问题,请参考以下文章
[Wix Bundle Managed Bootstrapper]错误 0x80070002:无法创建托管引导程序应用程序
在 Window 安装程序 XML 中使用 Bootstrapper 制作单个 Bundle 项目
WiX Bootstrapper:如何从命令行设置刻录变量?
Wix Bootstrapper - 从安全的 http 存储库下载捆绑包