Inno Setup 如何检查系统上是否存在 MSVCR100.dll

Inno Setup how to check if MSVCR100.dll exists on the system

我有一个基于 Inno Setup 的安装程序,其中还包含一个 WAMP installer inside it. Installing WAMP on some systems requires the installation for Microsoft Visual C++ Redistributables 并且我的安装程序中也有那些可再发行组件的可执行文件。虽然,我想先检查系统是否已经安装了 MSVCR100.dll,这样我就不需要再启动这些安装程序了。关于如何使用 Inno-Setup 在系统上找到 MSVCR100.dll 的任何方法?

我尝试在 C:\ 中搜索 "MSVCR100.dll",但有很多结果,其中一些位于 C:\Windows\SysWow64 和 C:\Windows\System32

注意:我们将只使用 64 位安装 wAMP,所以我们只需要找到一种方法来定位 64 位可再发行组件。 32位的暂时不用管。

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

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

不再检测此 .dll 文件,只需再次 运行 可再发行组件安装文件:

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

运行 此设置两次不会对机器造成伤害 - 如果已安装可再发行组件,则不会发生任何不良情况。