vcredist_x86.exe 静默安装方法

我们打包基于VC++开发的应用程序,我们会一同打包一个VC运行库,否则安装到一些非开发环境中,你的应用程序依然可以正确运行。

Visual C++ 2008 Redistributable Package 包括了(VCRedist_x86.exe,VCRedist_x64.exe以及VCRedist_ia64.exe)。

就是一个简单的VCRedist.exe安装集成,结果下载了之后安装,安装完成后在系统或某个盘的根目录下留下一堆的临时文件:

临时文件列表

调查后发现,这是Microsoft Visual C++ 2008 Redistributable Package的一个已知Bug,微软在SP1中修正。

一种解决办法是,安装完成后手动删除,但由于位置随机,所以在集成安装包中删除还是有些困难的。

当然,更简单的办法就是使用Microsoft Visual C++ 2008 SP1 Redistributable Package,这是x86的下载链接。

这是VCRedist.exe的静默安装命令,其他调用命令见Astebner的博客

Vcredist_x86.exe /q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%vcredist_x86.log"

如果我们直接调用VCRedist.exe安装,会弹出一个解压的对话框,如果不想让这个界面出现,可以先解压VCRedist.exe,然后通过“vc_red.msi /qn”来完成静默安装(注意InstallShield中是通过msiexec.exe安装的msi)。

另外,同时确认过icrosoft Visual C++ 2005 Redistributable Package不存在上述问题。

http://www.cnblogs.com/lidabo/archive/2013/01/21/2869787.html

如:inno setup

[cpp] view plaincopyvcredist_x86.exe 静默安装方法vcredist_x86.exe 静默安装方法
 
 
  1. sparam: String;  
  2.   
  3.      sparam := '/q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%vcredist_x86.log"';  
  4.   
  5.      ShellExec('open', s,sparam, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);  
[cpp] view plaincopyvcredist_x86.exe 静默安装方法vcredist_x86.exe 静默安装方法
 
  1. sparam: String;  
  2.   
  3.      sparam := '/q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%vcredist_x86.log"';  
  4.   
  5.      ShellExec('open', s,sparam, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);  

http://blog.csdn.net/bible521125/article/details/38817357