各位,有个安装包制作问题请假下大家。
.exe需要visual c++ runtime才能运行。
32位机器需要的是visual c++ x86 runtime.
64位机器需要的是visual c++ x64 runtime。
现在我想把这个组件和.exe捆绑,在机器上没有装c++ runtime的时候自动安装。
本来打算用安装包中的系统必备,但是因为要区分不同的机器,所以不怎么好搞。
客户又不想打2个包,不知道各位有没有什么好的方法。
谢谢!
32位的visual c++ x86 runtime程序在64位的系统里也是能安装的。
如果客户操作系统有xp版本的话,建议vs 2008来打包,因为vs 2008中的C++运行库是9.0版本的,更高的版本在xp上默认是安装不成功的,因为其需要更高版本的Windows Installer。
有个关键我没说清楚,项目中用到了sqlite,x86和x64上调用的sqlite版本不一样,x64上的sqlite必须要c++ 2010 X64这个组件。
@郑习坤: 在你的c++里程序里判断呗,64位系统调用64位的dll,32位的系统调用32的dll。
不过理论上来说32位的sqlite在64位和32位的系统里都是能调用的。
这个在打包的时候,可以选择的,但是也可以让用户自己先安装的。
你好,打包的时候是可以选择的,但是要对应x64和x86,所以不好选择,选了c++ 2010 X86只能对应x86的机器,选了c++ 2010 X64的话,又无法在x86机器上安装,2个都选也不行的。
客户又不想自己手动安装,不知道怎么搞呢。
@郑习坤: 那就打2份包
@chenping2008: 客户不想打2个包。。。