在自己机子上可以运行,在别的机子上运行时出现mshflxgd.ocx控件没有注册,怎么办?

解决方案 »

  1.   

    出现问题的原因是VB所编译的Exe不能像VC一样将所有的dll、控件引用进行静态编译,而要求运行的电脑上也要有与开发机所引用、加载的环境,这个环境包括VB运行时库,以及其它的控件,Dll。解决办法,就是将程序所涉及的所有文件,打包安装到客户机。
    方法1:
    将本机上的msflexgd.*拷贝到客户机系统目录\system32,并将msflexgd*.ocx文件注册,注册方式,点击右键,选择其它打开方式,选中windows\system32\目录下的regsvr32.exe。打开注册。此办法对于客户机仅仅缺少msflexgd.ocx时生效。否则请试方法2、3
    方法2:
    利用VB自带的打包工具,对应用程序进行打包
    优点:VB会自动帮你挑选需要打包的文件
    缺点:安装程序比较丑,安装过程不可控
    方法3:[
    用其它的打包工具,如installshield,setupbuild打包
    优点:界面美观,安装过程可以自由控制
    缺点:需要打包的文件,需要自己添加