NSIS-第三方应用程序版本检查

NSIS-第三方应用程序版本检查,nsis,Nsis,嗯,我的安装程序安装一些第三方msi安装程序静默。现在,我正在通过注册表读取方法检查卸载项(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{GUID})的现有版本。但这会导致一些问题,比如每次公司给我一个新的更新安装程序时,我都需要更改这个GUID 是的,我不能依赖第三方公司的安装程序升级方法,因为有时他们的msi会出错,所以需要手动检查升级范围 现在有一种方法可以克服这个问题,读取第三方安装的文件的版本号并做出相应的决定 有没有其他人可以

嗯,我的安装程序安装一些第三方msi安装程序静默。现在,我正在通过注册表读取方法检查卸载项(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{GUID})的现有版本。但这会导致一些问题,比如每次公司给我一个新的更新安装程序时,我都需要更改这个GUID

是的,我不能依赖第三方公司的安装程序升级方法,因为有时他们的msi会出错,所以需要手动检查升级范围

现在有一种方法可以克服这个问题,读取第三方安装的文件的版本号并做出相应的决定


有没有其他人可以告诉我的方法?

NSIS有一个函数GetFileVersion可以帮助您。只需将第三方文件中的一个可执行文件传递给它。以下是我的例子:

${GetFileVersion} "$UserDir\thirdParty.exe" $CurrentVersionString
StrCpy $CurrentVersion $CurrentVersionString
DetailPrint "The Current version is: $CurrentVersion"

如果第三方软件对其可执行文件进行了正确的版本设置,这将起作用。

您可以检查msiexec.exe的退出代码吗?问题是检查目标系统上是否存在第三方软件的现有版本。检查msiexec返回类型有什么意义?我以为您安装了.msi,然后检查了,对不起…这已经作为有问题的建议解决方案提供了。我在寻找其他的解决办法。但是没有这样的事情。检查卸载密钥或依赖文件版本和文件存在。