我们打包基于VC++开发的应用程序,我们会一同打包一个VC运行库,否则安装到一些非开发环境中,你的应用程序依然可以正确运行。
就是一个简单的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
- sparam: String;
- sparam := '/q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%vcredist_x86.log"';
- ShellExec('open', s,sparam, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
- sparam: String;
- sparam := '/q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%vcredist_x86.log"';
- ShellExec('open', s,sparam, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
http://blog.csdn.net/bible521125/article/details/38817357