1

我要为安装 VC10 运行时大发雷霆了!

我有两个应用程序,每个应用程序都有自己的安装程序。为了确保每个都可以独立发布,每个安装程序都包含 vcredist_x??.exe 东西来安装 VC10 运行时。

现在,其中一个安装程序包括“SP0”运行时——它是前一段时间构建的——称为“i0”,另一个安装程序包括“SP1”运行时——它正在构建中——称为“i1”。

如果我的用户单独安装 i0 或单独安装 i1,一切都很好。如果我的用户先安装 i0 然后安装 i1,一切都很好。

但是,如果我的用户首先安装 i1,那么当他尝试安装 i0 时,运行时安装会失败。

手动运行 redists 我看到 SP0 安装程序在看到 SP1 已安装时会感到不安。

除了这看起来几乎是愚蠢的事实之外,我该如何绕过它。我可以给 SP0 安装程序一些“强制”标志吗?是否有一些“正确”的方法来检查运行时 - 以及它的哪个版本 - 是否已经安装?

4

1 回答 1

3

更好的方法可能是将 VC 运行时与您的应用程序一起私下部署。为此,只需在安装程序包中包含 msvcp100.dll 和 msvcr100.dll。这样,您的应用程序将不会使用系统 CRT,并且您不必运行可再发行组件。如果您有其他依赖项,您可以在此处找到要包含的文件。

于 2011-09-02T15:38:11.890 回答