我在一个对话框中放了一个微软的ActiveX控件:msflexgrid,生成EXE后放到没有安装过VC的机器上运行,这个对话框就打不开,
后来我把MSFLXGRD.OCX文件也COYP到了EXE旁边也不行。但是机器安装了VC后就可以了。请问我应该如何在没安装VC的机器上发布
程序?

解决方案 »

  1.   

    执行Regsvr32 MSFLXGRD.OCX注册组件。
      

  2.   

    你的程序是VC6的还是VC2005的,如果是VC2005的,在其他机器上运行,需要安装vcredist_x86.exe
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee
    如果不是这个原因,那可能就是LS所说的ActiveX控件的注册.
      

  3.   

    msflexgrid这个控件据我的经验,不能在vc++下运行!
    具体的原因在于这个控件是需要微软的注册码的!
    虽然网上有很多的解决方法,主要说的是注册问题,但是我试过了就是不能用!
      

  4.   

    做个安装包,里面带上需要的dll,并把控件注册了
      

  5.   

    用了COM组件都要注册,而且在本地机器也要有相应的DLL.
      

  6.   

    除了相应的控件要注册之外,根据我的经验,在没有安装VC的机器上运行VC程序要加上这3个dll文件:
    MFC42D.DLL,MSVCRTD.DLL,MFCO42D.DLL,你从有安装VC的机器上拷过去...
      

  7.   

    如果用的是静态连接MFC,就不需要楼上说的那三个DLL.