使用的Inno安装程序,我们分配VC++ redistributable与我们的应用程序,所以我们可以自动运行。我们发现,在已经安装的系统上运行它会要求我们修复/撤消将完全混淆用户的安装。分发VC++的Redist ......当已经安装运行造成问题的安装
有没有办法解决这个问题?也许在安装程序上的标志或什么?
谢谢。
使用的Inno安装程序,我们分配VC++ redistributable与我们的应用程序,所以我们可以自动运行。我们发现,在已经安装的系统上运行它会要求我们修复/撤消将完全混淆用户的安装。分发VC++的Redist ......当已经安装运行造成问题的安装
有没有办法解决这个问题?也许在安装程序上的标志或什么?
谢谢。
尝试/ Q标志 http://support.microsoft.com/kb/227091(假设你安装它通过调用msiexec.exe的他们可再发行)
This thread解决了我的问题:
(在对方的回答从评论中获得)
虽然不是的Inno安装程序,此相关的问题提供了Visual Studio 2010中安装项目的解决方案。问题是由于vcredist的SP1更改了产品代码,而Visual Studio使用旧代码。这就是为什么已安装的检查失败。
Visual C++ 2010 Runtime Libraries prerequisite keeps popping up on a VS 2010 created installer
对于上述答案的一些原因为我工作。然而,这确实,:
[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}
我通过运行选择vcredist_x64.exe得到了它的提示/ +,作为在该线程的底部指出:http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/a8d4d5b4-7927-4c86-95e8-3cd8b3018ae8/
作为进一步的说明,进行再分配的另一种可能的选择是只针对静态链接(你的版本)的MSVCRT看评论中http://blogs.msdn.com/b/vcblog/archive/2007/10/12/how-to-redistribute-the-visual-c-libraries-with-your-application.aspx(MS虽然这种类型的静态链接显然皱眉,至少你不会需要一个dll)。
Distributing the Visual C++ Runtime Libraries (MSVCRT)也可能是有用的。
另外请注意,如果你能保证你有控制,你可以只包括msvcr100.dll在同一目录下的可执行文件和将工作也是如此,虽然不是一个非常标准的解决方案。
不会简单地使用'选择vcredist_x64.exe/q/norestart'是否足够呢? (这是VS2012 btw的'/ quiet/norestart') – stijn 2013-07-21 10:03:09
我们从这里安装vcredist_x86.exe:http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en。你的答案仍然适用? – 2010-03-17 11:57:54
如果/ q不这样做,请尝试/ Q:a /c:"msiexec.exe/qb/i vcredist.msi“ 请参阅http://jrsoftware.innosetup.free-usenet.eu/Microsoft-Visual -C-2008可再发行 - 文件 - 通汇创setup_T46582950_S1 – 2010-03-17 22:14:27