我用IS打包VC程序时,已经把MFC对象添加了,但程序还是运行不起来,报缺少MFC42D.DLL,请问,我该怎么办?

解决方案 »

  1.   

    把它加到一个组里,把那个组的目标定为system,同时记得把那个组加到安装组件中
      

  2.   

    你把你的程序用release方式编译MFC42D.DLL 在装了vc的机子上才有
      

  3.   

    将MFC42D.dll和msvcrtd.dll从电脑中搜索到,然后打包进去,释放到系统目录下
    如果改用release版本,就打包MFC42.dll和msvcrt.dll如果还缺文件
    就用depends.exe打开你的应用程序,找到还却什么就一并打包进去,一般上面两个就足够了
    如果开始菜单里找不到就搜索depends.exe
    用它打开你的应用程序,这样就可以在右面的栏里看到你所用到的dll了
    将外层的打包进去就可以了IS中原有Program Files和Share Dlls等文件夹,你可以把这些dll放入Share Dlls里,或者新建一个文件夹放它们(涉及到覆盖问题,可以先不考虑)选中这个文件夹,在Destination项里选择Windows Operating System-> Windows System Folder  这样上面就会显示为<WINSYSDIR>而你程序的目录不就是<TARGETDIR>吗?比较一下就很容易明白正常情况下那两个就足够了....
    depends里面还有几个不用包括进去的... Kerner32.dll,User32.dll,GDI32.dll,..
    如果有别的*32.dll也都先别包括进去
    因为目标机器上这些都有..其它的加进去
    如果还提示缺少什么,那就再加什么吧:)
    呵呵,在这里再给你贴一遍
      

  4.   

    你编译的肯定是DEBUG版本,DEBUG版本的要MFC42D.DLL,而RELEASE版本不要
      

  5.   

    是的,他说是帮别人做的:)
    但是release版本有时要Mfc42.dll的