Inno安装程序如何检查系统上是否存在MSVCR100.dll

问题描述:

我有一个基于Inno Setup的安装程序,其中还包含一个WAMP安装程序。在某些系统上安装WAMP需要installation for Microsoft Visual C++ Redistributables,我的安装程序中也有这些可再发行组件的可执行文件。虽然,我想先检查系统是否已安装MSVCR100.dll,因此我不需要再启动这些安装程序。任何关于如何使用Inno-Setup在系统上定位MSVCR100.dll的方法?Inno安装程序如何检查系统上是否存在MSVCR100.dll

我试图用C搜索 “MSVCR100.dll”:\,但也有很多成果,包括一些存放在C:\ WINDOWS \ SYSWOW64和C:\ Windows \ System32下

注意:我们将只使用64位安装的wAMP,所以我们只需要找到一种方法来找到64位可再分发。现在我们可以忽略32位。

+0

*“有很多结果,包括位于C:\ Windows \ SysWow64和C:\ Windows \ System32中的一些”* - 如果WAMP需要32位或64位,您现在需要什么再发行。 –

+0

@MartinPrikryl它是64位可再分发的。我将编辑该问题。 –

代替检测这个.dll文件只需再次运行再分发安装文件:

https://blogs.msdn.microsoft.com/astebner/2010/10/20/mailbag-how-to-perform-a-silent-install-of-the-visual-c-2010-redistributable-packages/

运行此安装两次不会损害机器 - 如果已经安装可再分发组件,则不会发生任何错误。

+0

我怎样才能将它融入Inno-Setup? –

+0

例如:http://stackoverflow.com/questions/24574035/how-to-install-microsoft-vc-redistributables-silently-in-inno-setup?rq=1 – Slappy

+0

解决。谢谢! –

检查C:\Windows\System32中是否有MSVCR100.dll的副本。

由于Inno Setup是一个32位应用程序,您实际上需要检查C:\Windows\sysnative。对于32位应用,C:\Windows\System32被重定向到C:\Windows\SysWow64