我的mfc程序,用installshield12打包时,添加exe时,竟然找不到依赖项,打包后给人安装,不能使用。
因为是动态连接,我把所有可执行文件和所有需要用到的系统dll全部都烤到一台没安装vc6的机子上时,程序还是不能使用,
我的程序是release,动态连接。
因为是动态连接,我把所有可执行文件和所有需要用到的系统dll全部都烤到一台没安装vc6的机子上时,程序还是不能使用,
我的程序是release,动态连接。
用depends看看需要哪些dll
我因为用dao连接access2000,
在InitInstance函数中添加下面代码
AfxGetModuleState()->m_dwVersion = 0x0601
此时如果用静态连接,就会出错,只能用动态的。我使用了Dependency 查看了,依赖项有9项,我一股脑儿全复制进文件夹了,还是没有用,程序还是打不开……
爆汗,但在其他装过vc6的机子上,都可以打开使用,没有问题。
就是窗口都跳不出来。
都拷在了程序文件夹
没有拷往system32里没有需要注册的组件,我用了一下串口,mscomm控件,应该不用注册什么的吧
dao是很久前就过时的东西,只支持到access97
我想是不是问题出在了AfxGetModuleState()-> m_dwVersion = 0x0601
这句程序上,这是我在网上找的直接拷贝的。
AfxGetModuleState()->m_dwVersion = 0x0601 ;
改为静态链接,重新编译。结果还是老样子,我的机子,和其他装过vc6的机子都能运行,
没有装过vc6的机子不能运行。而且也不跳出某dll找不到等警告框。泪崩中……
这些东西不是拷贝文件即可得,即使你真得把所有dll拷贝过去都没有用,因为许多东西需要写入注册表得,你不可能知道它需要写入啥
出来什么提示没有?你试着把dll放到system32下面看看。
2.注册active控件