VC生成的Release在没有装VC6.0的机器下无法运行

VC生成的Release在没有装VC6.0的机器上无法运行
我做的是一个指纹识别的程序,里面还用到了Datagrid Control和 ADO Data Control 控件,用release编译后在安装了VC6.0的机器上正常运行,但在没有装VC6.0的机器上登录后就没有反应了,主窗口也打不开,什么就都没了,已经改成静态库连接了,不懂错在哪里,求大侠解疑啊

------解决方案--------------------
必须有Datagrid Control和 ADO Data Control 控件。
查查控件文件名(.dll .ocx )
------解决方案--------------------
把需要的控件打包到程序目录,程序启动时注册一下

C/C++ code

#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib")

BOOL RegisterControl(LPCTSTR szFileName)
{
  BOOL bRet = FALSE;
  TCHAR mess[256];
  if(PathFileExists(szFileName))
  {
    // Path to OLE Control in shortfileName   
    HMODULE hModule = LoadLibrary(szFileName);  
    if(hModule)  
    {  
      typedef HRESULT (STDAPICALLTYPE *CTLREGPROC)() ; // Requires olectl.h   
      CTLREGPROC DLLRegisterServer = 
        (CTLREGPROC)GetProcAddress(hModule,"DllRegisterServer" ) ;  
      if(DLLRegisterServer)  
      {  
        if(DLLRegisterServer() == S_OK)  
        {
          bRet = TRUE;
        }
        else
        {  
          _stprintf_s(mess, _T("注册模块失败 %s"), szFileName);  
        }  
      }  
      else  
      {  
        _stprintf_s(mess, _T("模块%s找不到指定注册入口"), szFileName);  
      }  
      FreeLibrary(hModule) ;  
    }  
    else  
    {  
      _stprintf_s(mess, _T("加载模块失败 %s"), szFileName);  
    }  
  }
  else
  {
    _stprintf_s(mess, _T("目标文件不存在%s"), szFileName);
  }
  
  if(!bRet)
  {
    MessageBox(NULL, mess, _T("Error"), MB_OK);
  }

  return bRet;
}

------解决方案--------------------
肥就是程序文件很大的意思,生成的文件有多大?
------解决方案--------------------
把纯净机上没有的,而你的程序要用的控件都打包,启动时先注册一下,一个控件反复注册是没有问题的
------解决方案--------------------
看你Release后生成的程序依赖哪些跟vc相关的动态库,然后把这些动态库拷贝到没有安装vc的机器上即可。