求助,关于VB打包问题
vb吧
全部回复
仅看楼主
level 5
zpq452617435
楼主
代码中引用了system32目录下的dll,在用setup factory7.0导入工程的时候发现没有我dll,我就手工添加了进去,打包后去新机子上安装却提示dll未找到。看了system32目录有该dll,就算复制到程序目录下也不行,求高手解答啊!!!
急!!
2015年12月11日 02点12分
1
level 5
zpq452617435
楼主
求大神来啊
2015年12月11日 02点12分
2
level 5
zpq452617435
楼主
2015年12月11日 02点12分
3
level 5
zpq452617435
楼主
找不到的dll全是 declare function 定义的
2015年12月11日 03点12分
4
level 5
zpq452617435
楼主
来人啊
2015年12月11日 03点12分
5
吧务
level 13
Luosen56
注册 DLL 文件。仅仅是拷贝不行。
2015年12月11日 03点12分
6
yjryym
别瞎扯蛋,楼主说过是Declare定义的。
2015年12月12日 03点12分
Luosen56
定义(声明)的 Api 函数可能在本机上可以使用,编译成 EXE 以后,拷贝到其他机子上,由于没有必要的DLL文件,因此可能不能使用。我遇到过这种情况。所以要拷贝必要的DLL文件到系统文件夹中,并进行注册。
2015年12月12日 03点12分
Luosen56
还有,Win7-32位操作系统中编译的EXE文件,可能在 Win7-64位操作系统的机子上不能运行,也是因为这些问题。DLL 文件存放目录不同。
2015年12月12日 03点12分
yjryym
@Luosen56
你先搞懂dll注册是什么再来回答。
2015年12月12日 06点12分
吧务
level 13
Luosen56
Win7 - 32位 操作系统(DOS命令模式)注册命令——
Regsvr32 C:\Windows\System32\DLL文件全名 /S
Win7 - 64位 操作系统(DOS命令模式)注册命令——
SysWOW64\regsvr32 DLL文件全名
2015年12月11日 03点12分
7
zpq452617435
注册的时候会出错
2015年12月11日 03点12分
Luosen56
@zpq452617435
请先将要用的 DLL 文件拷贝到系统专门放 DLL 文件的文件夹中,再进行注册操作。运行文件夹里的 DLL 文件不要删除。
2015年12月12日 02点12分
yjryym
@zpq452617435
标准dll注册当然会出错了,因为Declare语句已经指定了dll路径,根本就不需要注册。
2015年12月12日 23点12分
吧务
level 13
Luosen56
这是一个 Win7 - 32 位操作系统的注册(ZhuCe.BAT)批命令文件,用文本文档建成后,改文件名和扩展名得到,希望对你有所帮助 ——
@ECHO
OFF
Copy COMDLG32.OCX C:\Windows\System32\COMDLG32.OCX /V/Y
Copy MSADODC.OCX C:\Windows\System32\MSADODC.OCX /V/Y
Copy MSDATGRD.OCX C:\Windows\System32\MSDATGRD.OCX /V/Y
Regsvr32 C:\Windows\System32\COMDLG32.OCX /S
Regsvr32 C:\Windows\System32\MSADODC.OCX /S
Regsvr32 C:\Windows\System32\MSDATGRD.OCX /S
@ECHO ON
2015年12月11日 05点12分
8
level 13
贴吧用户_0VeAKU7
目测没开管理员权限
2015年12月12日 01点12分
9
level 5
zpq452617435
楼主
自己找到问题了,搜索下dll的从属文件就有其他相关联了dll,都打包进去就行了
2015年12月12日 03点12分
10
Luosen56
实际上,根本没有打包的必要。在32位机上打的包,就无法在64位机上运行;在 Win_NT 上打的包就无法在 XP 上运行……。因为两种操作系统存放 DLL、OCX 文件的位置都不一样。
2015年12月13日 02点12分
level 1
改个昵称啵♬
求楼主setup factory的安装包
2016年06月23日 14点06分
11
1