首页 > 解决方案 > 检测 Python 解释器并从 WiX 安装程序安装站点包

问题描述

我目前正在扩展一个基于 WiX 的现有安装程序,以提供一个PythonAPI为某些软件新实现的 Python API(我们称之为它)。我已将必要的文件添加到安装程序中,并将它们放置在适当的位置(例如C:\Program Files\SomeSoftware\PythonAPI)。我可以使用命令通过 pip 安装 API

python -m pip install "C:\Program Files\SomeSoftware\PythonAPI"

这允许我通过选择适当的 python 解释器来选择我想要安装包的 python 版本。例如这个包只兼容python3.6及以上。

我的问题是:如何在 WiX 的帮助下找到已安装的 python 解释器并使用适当的解释器来运行上面的安装命令?

最简单的方法是假设 中存在适当的 python 解释器PATH,但我不想依赖它。相反,我认为最好检查注册表中的键,例如

在哪里versionnumber获取3.6安装路径并使用此解释器的绝对路径。但是,如果我正确理解了WiX 的RegistrySearch功能,则很难扫描多个版本 ( >=3.6),因为我必须提供完整的密钥路径(在这种情况下包括versionnumber)。我当然可以对当前可用的版本(和)进行硬编码检查3.6,但这意味着每次新的 python 版本出现时我都必须手动扩展它。3.73.8

一旦选择了正确的解释器,我会假设可以使用CustomAction来运行上面提到的安装命令。

标签: pythondeploymentpipwixwindows-installer

解决方案


推荐阅读