VS2008/VS2012/MFC/C++/ACCESS/Redistributable Package/installshield/打包/安装/部署
来源:互联网 发布:软件需求整理 编辑:程序博客网 时间:2024/06/13 17:12
之所以要把标题写成这样,是为了这篇文章被检索的概率增加。方便碰到类似问题的网友,马上得到解决办法。
问题:
时间:2015年6月13日
开发环境:Win7+ VS2012
项目需求:基于ACCESS数据库的一个信息收集、存储和报警系统
本项目从去年年底开始,客户要求发行版软件要能够兼容XP和 Win7系统,当时我没有太在意,因为自己的电脑安装的是Win7,了解了下朋友们大都在用VS2012,所以就选择了2012版本。但是我给自己的要求是,考虑到系统内有串口编程,就尽量用MFC,越接近底层的语言,如果后期出现BUG就更好调试。因为用了一些高级语言,串口确实有现成的类直接调用,但是万一出了问题,或者不满足需求,修改的弹性空间就不够。当然之所以这样想,也确实因为没有windows下的编程经验。而且MFC在安装部署的时候,不需要携带大量的支持包,这样软件就可以做到更小。唯一的缺点是,MFC的UI很不好做!!!
今天开年后开始找新工作,然后上班,挺忙的,平时只能抽时间去完成去年未完成的功能。直到5月中旬才把功能写完,当然实际上还没有完全结束,线程池的关闭和发送中文短信,还没有做进去。
客户要求发软件给他试用,于是我先打包了一个win7版本。由于VS2012已经不内置InstallShield打包工具了,而是要另外下载安装,打包工具很多,但是我还是选择了安装InstallShield,大众化嘛。但是这个东东是要付费的,可以免费申请一个LimitedEdition版本,只是功能没那么多,对于我这个项目已经够了,在这里其实折腾了很久,因为一直在参考网上的方法去破解专业版InstallShield,但是一直破解不了,迫不得已用LimitedEdition,而且申请的时候还要翻墙(他的网页里面有谷歌的链接),于是只能通过国内的代理帮忙申请序列号。
于是用InstallShield2013 Limited Edition 发行了一个Win7版本,客户说,那边的机子大部分是XP,让我先再弄个XP版本。于是在研究VS2012下如何发行XP版本的软件,也就是产生了前面转载的那些文章。主要重点就是,VisualStudio 2012 - Windows XP (v110_xp)、静态库、多字节、多线程(/MT)——运行时库,又折腾了很久,安装他们帖子里面的都做了,放到XP上跑就是有感叹号警告,起不来。不管你是静态编译,不加依赖包,或者动态编译加上依赖包,都不顶用,愁死了。
最后还是想了想,往后跳一个VS版本试试,就开始弄VS2008。刚开始在Win7里面安装VS2008,然后打包扔到XP虚拟机(感谢有虚拟机这个东西)里面去跑,还是跑不起来,妈蛋,鸡巴都要碎了!任凭我装了VS2008SP1CHSX1512981更新包之后,还是没有反应。
最后的最后,出利器!我开两个XP虚拟机,一个安装VS2008(注意有的XP版本装VS2008可能又要费点儿劲儿),另外一个做实验用。按照静态库、多字节、多线程(/MT)——运行时库 的方式,编译然后打包(VS2008方便之处是自带打包插件,当然静态库打包的时候实际上不需要依赖包),扔到另外一个XP中跑,终于跑起来了,我都要哭了,太艰难了!!!
打包这个软件比我写这个软件还痛苦!!!注意用来做实验的那个虚拟机最好做一个快照,而且那个XP最好是刚刚安装好之后就用来做实验,不要安装任何软件,干干净净,最能证明你做的软件对别的库的依赖性更低。出了问题,直接恢复快照,很便捷。
然后我又回去做了几个实验,VS2012+ InstallShield + VS2012 Redistributable Package打包出来的软件还是跑不起来。而且从微软官方最新下载的补丁包里面的VS2012Redistributable Package根本就不支持XP系统,然后从CSDN上下载了一个老一点的(链接:http://pan.baidu.com/s/1sjQHwtv密码:1wba),才正确安装(也就是兼容XP),最后也还是跑不起来。
所以综上所述:
1. 微软已经全面抛弃了XP系统,用上述这样的方法来增加开发XP系统应用的障碍,让你真的不想再用XP系统了。
2. 开发XP的应用一定还是在XP + VS2008/2005这样的环境下去做。
PS: 这个帖子只是我的实验结果,到底事实是不是这样,我不知道,仍需验证,如果各位网友刚好碰到这个问题,并且有新的结果,请告知!
- VS2008/VS2012/MFC/C++/ACCESS/Redistributable Package/installshield/打包/安装/部署
- 【C#】vs2012 安装与部署 怎么打包程序(InstallShield 2013 Limited Edition for Visual Studio)
- InstallShield Limit Edition打包项目为安装文件(VS2012)
- vs2012 c# winform installshield 打包
- vs2012 安装 InstallShield
- InstallShield 打包MFC程序
- VS2012程序安装打包部署详解
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解
- .net打包/C#WinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解
- 安装程序打包MFC(visual studio安装部署详解)Install Application Package by using visual studion 2010
- 【.Net码农】安装程序打包MFC(visual studio安装部署详解)Install Application Package by using visual studion 2010
- 安装程序打包MFC(visual studio安装部署详解)Install Application Package by using visual studion 2010
- VS2012打包部署教程
- 使用vs2012中(Installshield limited edition)打包
- 变长参数函数说明
- android viewPager实现轮播效果一(本地图片篇)
- LeetCode---(7)Reverse Integer
- 十三周项目二
- LeetCode 之 Merge Two / k Sorted Lists — C/C++ 实现
- VS2008/VS2012/MFC/C++/ACCESS/Redistributable Package/installshield/打包/安装/部署
- ACdream 1099 - 瑶瑶的第K大
- 大端与小端
- 手写全排列(递归 | 非递归)
- 十三周项目三
- Count Complete Tree Nodes
- YT03-递推求解课堂题目-1001 蟠桃记-(6.7日-烟台大学ACM预备队解题报告)
- Android开发环境搭建
- Linux下TFTP与NFS服务器配置