求教自己用VB6写的程序在win7下不能安装运行
在XP下写的也是用VB6自带的打包工具打包成安装盘,在XP下安装运行也都正常,但在WIN7下测试安装的时候提示:ST6UNST.EXE不存在,但实际上是有的,后面再装的时候有提示SYS.INI源文件不存在,这个在包里实际上都有的.就算不知道那下发神经装上了也运行不了,求教这样的问题是为什么?
[解决办法]
VB 自带的安装程序是有源码的。可以改成直接解压到安装目录。
因为是系统权限问题,即使换用其他打包安装工具,如果发生在没有写权限的路径下写文件,还是会有问题。
[解决办法]
原理告诉你:VB6的安装工具包setup1.exe才是“有源码”的那个项目。
但是一个VB程序(在win95时代)根本是没法在新系统中运行的,所以有一个叫setup.exe的引导文件。
VB安装程序的工作顺序是这样的:首先运行setup.exe(这是一个VC++写的程序,没有源代码,不可修改),这个程序首先把vbvm ole32等文件布置好,相当于一个小安装程序,然后调用setup1.exe这个vb写的程序,并且开始执行你要的安装任务。
setup.exe这个程序是16位的。而任何x64系统,都放弃了对16bit程序的支持。这才是为什么VB的打包程序无法工作的真正原因。