Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 程序人生

补丁害你了吗?

时 间:2012-08-15 19:26:02
作 者:dbaseIIIer   ID:22003  城市:深圳
摘 要:爱你还是害你? 这个是很艺术的事! 补丁是帮你的,还是害你的? 爱你变成害你?不用纠结,一切源自我们自己的。

我们用什么版本,想做什么效果,用什么样的控件,其实是我们自己选的!
正 文:

今天一早看到消息通知我们不要更新微软补丁,我觉得很好的,大家互相提醒!后来我发现原来不关我的事,听说 Access 2003 才有问题,不过我有非常多的客户还在用 Access 2003 的!所以我又开始关注了!

虽然我大部分的客户都是离线模式运作的(因为都是其企业的关键系统,如收银机、成本核算中心、生产进度控制中心等,都不能让员工联网、接U盘、不需要更新的),但总有些用户是自己家里用的,我也给他们打电话了解情况了,可是没有人出现问题!我就纳闷了,我就看看这个“传闻”是哪里来的。

我看到“传闻”的来源原来说 progressBar,.... 等的控件不能运作,那我就知道原因了,就是控件的问题。

在不久前很多人开发的系统都出现

“You do not have a license to use this control”

这是什么来的呢?就是用户没有权限使用那些控件。

那为什么在系统内的都没权限使用的呢?

因为这是 微软 分发给开发用户的东西,而不是给执行用户的!

那些控件是原来给

购买了VB,购买了VS 的开发者,让他们开发用的,执行使用其实还要另外执行License的。

你们会出现错误的原因,就是没有使用权的用家。安装了 VB6 的用户就算你在 Word, Excel 用到这些控件也是允许的!

 大家又会奇怪了,怎么你没买的东西、没权用的东西会跑到你的电脑上面去了?

原因就是你们用了一些下载的、人家给你的东西,是调用这些控件的程式,包括安装了那些程式时候给你安装了这些控件。正所谓不知者不罪!罪过的是打包这些东西给你的开发人员。他们给你的是不保证能运行的东西,用的是微软的东西,但是你们没有使用权的。

我估计你们打开 Access 是没有事的,就是打开某个项目才会有问题的!那些项目就是参照到一个自定义的库,accde 或者已经改了名字而不能打开看内容的 Access 程式库。

所有的Access的开发工具,代码、控件等,都是以这个形式给你们用的。反正你是不能查看那些代码,不能修改他的内容,你只能不用这个工具。如果供应商是有保证的,你是付费的,还可以根据购买合同看能不能要人家索偿!

出事的控件包括了:

  • ADO Data Control 6.0 (OLEDB) - Msadodc.ocx
  • Chart Control 6.0 - Mschrt20.ocx
  • Chart Control 6.0 (OLEDB) - Mschrt20.ocx
  • Comm Control 6.0 - Mscomm32.ocx
  • Common Dialog Control 6.0 - Comdlg32.ocx
  • Data Bound Grid Control 5.0(SP3) - Dbgrid32.ocx
  • Data Bound List Controls 6.0 - Dblist32.ocx
  • DataGrid Control 6.0 (OLEDB) - Msdatgrd.ocx
  • DataList Control 6.0 (OLEDB) - Msdatlst.ocx
  • FlexGrid Control 6.0 - Msflxgrd.ocx*
  • Internet Transfer Control 6.0 - Msinet.ocx
  • MAPI Controls 6.0 - Msmapi32.ocx
  • Masked Edit Control 6.0 - Msmask32.ocx
  • Multimedia Control 6.0 - Mci32.ocx
  • RemoteData Control 6.0 - Msrdc20.ocx
  • PictureClip Control 6.0 - Picclp32.ocx
  • Rich TextBox Control 6.0 - Richtx32.ocx
  • SysInfo Control 6.0 - Sysinfo.ocx
  • Windowless Controls 6.0 - Mswless.ocx
  • Windows Common Controls - Comctl32.ocx
  • Windows Common Controls 6.0 - Mscomctl.ocx
  • Windows Common Controls-2 5.0 (SP2) - Comct232.ocx
  • Windows Common Controls-2 6.0 - Mscomct2.ocx
  • Windows Common Controls-3 6.0 - Comct332.ocx
  • Winsock Control 6.0 - Mswinsck.ocx

    今天的更新,是微软的策略的一部分:

    1. 要尽快不支持 WinXP。这个支持耗掉了他们太多的资源,已经是超过十年的商品了,还要支持,那些补丁的大小已经比起原来的衣服都大了!

    2. 要尽快不支持 VB6。微软早就说明放弃支持的了。这些控件就是VB6的,有这些VB6控件,还是会很多人不转用 VS。

    3. 就是要推下一轮的 WindowsRT。既然Windows Runtime 是 所有 .net framework 的集合,又是 支持 html5+css3+js 的,也是Windows 8 独有的核心东西,也是电脑、平板、终端共用的 framework。

    4. 根据统计,Win7升级率不高,Windows Vista 是过度产品,然而超过50%的 Windows用户还是在用 WindowsXP。

    综合以上的,微软的策略就是要一直有高占有率,包括 OS, 浏览器,移动系统,只能“赶鸭子”了!在前面给你饵诱,说明支持 html5+css3, js 速度是以前的几倍,吸引你取用(虽然实际只是其他浏览器相约的性能);后面就鞭策我们、在赶我们入笼,没办法支持 WinXP, VB6, Office 95了等(即使技术上是支持的、兼容的)。

    不管微软的策略如何,我们就得跟随,谁叫我们已经在用WindowsXP  和 Access 了,上贼船了!

    如果被微软屏蔽了,那怎么办?我也不知道!不过可以尝试的就是再下载那些OCX的运行版本(Runtime Version,不能用开发版本 Development Version) 从新以 regsvr32 注册一次看可不可以吧!其他开发语言的人是这样处理,有些说可以有些说不可以,我相信还有别的环境因素要处理的。

    不过,可以的话还是卸掉那些会用到这些控件的软件,乖乖的用Access里面提供的东西吧!因为这只是微软的第一波而已,以后还会陆续“砍掉”历史遗留下来的问题的。

    开发的人就尽快改用 .net framework 了。Winform , WPF 等很快又过时的了,尽快学WinRT 吧!

    我就有点运气,打从 .net framework 1.0 到 2.0 后,我就不安装 .net framework 了!而且我也放弃了使用 VS 6.0后的东西,反正要 .net framework  的我都拒绝学习;因为我觉得 vs 2003,2005,2008 发展得快是好,但是缺乏与前面版本的支持,做出来的东西,很快又过时不适用了!所以弃暗投明不上贼船! 

    我的运气就是 我是利用Access的人,我不懂VS,所以没有用过那些控件;反正标安装Windows+Office没有的控件,我就不会给用户使用的,因为Access能给了我的,我觉得完全足够我这20年的应用。

    技术上的原理就很清楚了,怎么解决还是要你们研究了!

    最简单的是 ====》安装个 VB6 吧(小心绿色的可能注册不全的)!

    常用的官方补丁

  • http://acitvex.microsoft.com/controls/vb6/Mshflxgd.cab
  • http://activex.microsoft.com/controls/vb6/MSCOMCTL.CAB

  • http://activex.microsoft.com/controls/vb6/MSCOMCT2.CAB
  • 下载后解压,右击 .inf 选安装就可以了!不用什么regsvr32 的!



    Access软件网QQ交流群 (群号:483923997)       Access源码网店

    常见问答:

    技术分类:

    相关资源:

    专栏作家

    关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助