我准备在安装VC10运行时撕掉头发!
我有两个应用程序,每个都有自己的安装程序。为了确保每个都可以独立发货,每个安装程序都包含vcredist_x ??。exe来安装VC10运行时。
现在,其中一个安装程序包含'SP0'运行时 - 它是在不久前构建的 - 称之为'i0',其中一个包含'SP1'运行时 - 它现在正在构建 - 称之为'i1'。< / p>
如果我的用户单独安装i0或单独安装i1,一切都很棒。如果我的用户首先安装i0然后再安装i1,那么一切都很棒。
但是,如果我的用户首先安装i1,那么当他尝试安装i0时,运行时安装失败。
手动运行redists我看到SP0安装程序在看到SP1已经安装时会感到沮丧。
除了这看起来几乎是犯罪愚蠢的事实之外,我该如何绕过它。是否有一些“强制”标志我可以给SP0安装程序?是否有一些'正确'的方法来检查运行时 - 以及它的哪个版本 - 已经安装?
答案 0 :(得分:3)
更好的方法是将VC运行时与您的应用程序一起私下部署。为此,只需在安装程序包中包含msvcp100.dll和msvcr100.dll即可。这样,您的应用程序将不会使用系统CRT,您将不必运行可再发行组件。如果您有其他依赖项,则可以找出要包含的文件here。