NSIS安装程序:如何通过不同的安装程序获取先前安装的可执行文件的位置?

NSIS安装程序:如何通过不同的安装程序获取先前安装的可执行文件的位置?,nsis,Nsis,我正在使用NSIS为我的应用程序创建安装程序。不过,我需要在NSIS安装程序的运行时使用某些应用程序(即python)的路径。我无法从NSIS找到直接的方法 除非您对另一个应用程序有所了解,否则无法获取该应用程序的应用程序路径。如果它是以前的版本,并且是您编写的,那么您应该在以前的安装程序中安装它。否则,您需要检查注册表,以找到旧应用程序的独特之处,然后在NSIS脚本中使用它,或者简单地询问用户。他们的(*1)表示: 您可以使用Windows的标准删除程序过程卸载Boot2Docker 这意味着

我正在使用NSIS为我的应用程序创建安装程序。不过,我需要在NSIS安装程序的运行时使用某些应用程序(即python)的路径。我无法从NSIS找到直接的方法

除非您对另一个应用程序有所了解,否则无法获取该应用程序的应用程序路径。如果它是以前的版本,并且是您编写的,那么您应该在以前的安装程序中安装它。否则,您需要检查注册表,以找到旧应用程序的独特之处,然后在NSIS脚本中使用它,或者简单地询问用户。

他们的(*1)表示:

您可以使用Windows的标准删除程序过程卸载Boot2Docker

这意味着它必须向注册表中的卸载项写入一个条目

他们将使用Inno安装程序,如果我正确解释了他们的脚本,则卸载信息应位于
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{05BD04E9-4AB5-46AC-891E-60EA8FD57D56}_is1
中,您可能可以使用
ReadRegStr
读取
InstallLocation
值,或者解析
UninstallString
值,但您应该在Regedit中对此进行验证。还请记住,如果将此信息写入注册表的64位部分,则需要在NSIS脚本中使用
SetRegView
来读取它



*1:链接到archive.org,因为Boot2Docker已被弃用。

NSISW到底是什么?当您提供的有关此应用程序的信息如此之少时,我们如何知道如何提供帮助。它在什么地方登记了吗?此应用程序的名称是什么?我的安装程序安装第三方应用程序,即调用第三方安装程序安装python,然后启动脚本,该脚本必须使用此最新安装的python来启动脚本。我希望现在更清楚。不,不清楚,你甚至没有告诉我们这个申请的名字。当我们甚至不知道应该调查哪个应用程序时,我们如何知道它是否写入了任何您可以读取的信息以找到其路径?以下是所有详细信息。安装有两个步骤。首先在窗口中安装docker。完成后,安装程序将调用某些powershell脚本,这些脚本将创建所需的容器供用户使用。Powershell脚本需要首先运行boot2docker_start(实际上是.sh脚本,在docker安装过程中安装)来创建boot2docker vm。我的问题是,我是否可以在运行时通过nsis ScriptsHanks知道docker在windows中的安装路径。我试试看。谢谢。成功了。ReadRegStr$0 HKLM“软件\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\${appID}\U is1”“卸载字符串”