检测Python解释器并从WiX安装程序安装站点包

检测Python解释器并从WiX安装程序安装站点包,python,deployment,pip,wix,windows-installer,Python,Deployment,Pip,Wix,Windows Installer,我目前正在扩展一个基于WiX的现有安装程序,以提供一个新为某些软件实现的PythonAPI(我们称之为PythonAPI)。我已将必要的文件添加到安装程序中,并将它们放置在适当的位置(例如C:\Program files\SomeSoftware\PythonAPI)。我可以通过命令pip安装API python -m pip install "C:\Program Files\SomeSoftware\PythonAPI" 这允许我通过选择适当的python解释器来选择要为其安装包的pyth

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

python -m pip install "C:\Program Files\SomeSoftware\PythonAPI"
这允许我通过选择适当的python解释器来选择要为其安装包的python版本。例如,此软件包仅与python3.6及更高版本兼容

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

最简单的方法是假设在
路径中有一个合适的python解释器,但我不想依赖它。相反,我认为最好检查注册表中的键,如

  • HKLM\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
其中
versionnumber
类似于
3.6
,用于获取安装路径并使用此绝对路径访问解释器。但是,如果我正确理解WiX的功能,就很难扫描多个版本(
=3.6
),因为我必须给出完整的密钥路径(在这种情况下包括
versionnumber
)。当然,我可以通过硬代码检查当前可用的版本(
3.6
3.7
3.8
),但这意味着每次出现新的python版本时,我都必须手动扩展它

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