Visual c++ 分发VC&x2B+;重新显示。。。已安装时运行安装程序会导致问题

Visual c++ 分发VC&x2B+;重新显示。。。已安装时运行安装程序会导致问题,visual-c++,installation,visual-c++-installer,Visual C++,Installation,Visual C++ Installer,使用Inno安装程序,我们将应用程序与应用程序一起分发,以便自动运行。我们发现,在已经安装了它的系统上运行它会要求我们修复/撤消安装,这将完全迷惑用户 有办法解决这个问题吗?也许安装程序上有个标志什么的 谢谢。试试/q标志 (假设您是通过在其可再发行版本上调用msiexec.exe安装的)解决了我的问题: (摘自另一个答案中的注释)尽管不适用于Inno安装程序,但此相关问题为Visual Studio 2010安装项目提供了解决方案。这个问题是由于vcredist的SP1更改了产品代码,而Vis

使用Inno安装程序,我们将应用程序与应用程序一起分发,以便自动运行。我们发现,在已经安装了它的系统上运行它会要求我们修复/撤消安装,这将完全迷惑用户

有办法解决这个问题吗?也许安装程序上有个标志什么的

谢谢。

试试/q标志 (假设您是通过在其可再发行版本上调用msiexec.exe安装的)

解决了我的问题:


(摘自另一个答案中的注释)

尽管不适用于Inno安装程序,但此相关问题为Visual Studio 2010安装项目提供了解决方案。这个问题是由于vcredist的SP1更改了产品代码,而VisualStudio使用了旧代码。这就是为什么已经安装的检查失败的原因


出于某种原因,上述答案对我都不起作用。然而,这确实:

[Run]
Filename: {tmp}\vcredist_x86.exe; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; StatusMsg: Installing 2010 RunTime...
[Files]
Source: vendor/vcredist_x86.exe; DestDir: {tmp}
我通过运行vcredit_x86.exe/?得到了提示,如本线程底部所述:

作为进一步说明,重新分发的另一个可能选项是仅针对(您的版本)msvcrt进行静态链接,请参阅中的注释(尽管MS显然不赞成这种类型的静态链接,但至少您不需要dll)

也可能有用


另外请注意,如果您可以保证拥有控制权,您可以将msvcr100.dll包含在与可执行文件相同的目录中,这也会起作用,尽管这不是一个非常标准的解决方案。

我们将从此处安装vcredit_x86.exe:。您的答案仍然适用吗?如果/q不适用,请尝试/q:a/c:“msiexec.exe/qb/i vcredit.msi”请参阅仅使用
vcredit_x86.exe/q/norestart是否足够?(这是VS2012 btw的
/quiet/norestart