VCRedist.exe静默安装方法(转)
INNO setup 制作安装包 的时候,发布VC++运行时
[Run]
Filename: {app}vcredist_x86.exe; Parameters: /q; WorkingDir: {tmp}; Flags: skipifdoesntexist; StatusMsg: "Installing Microsoft Visual C++ Runtime ..."; Check: NeedInstallVC9SP1
我们打包基于VC++开发的应用程序,我们会一同打包一个VC运行库,否则安装到一些非开发环境中,你的应用程序依然可以正确运行。
就是一个简单的VCRedist.exe安装集成,结果下载了之后安装,安装完成后在系统或某个盘的根目录下留下一堆的临时文件:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
调查后发现,这是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不存在上述问题。