我vb生成的exe文件为什么在别的电脑上不能用?

2024-10-31 08:49:08
推荐回答(5个)
回答1:

需要打包 .

vb 引用了很多第三方空间 , 这些空间别的电脑上不一定有
所以需要打包的

如果不打包的话 , 你只要把你vb引用的那些控件和dll 都复制到新的电脑上, 就可以直接运行了 .
你如果选择的典型安装的vb ,都是带有打包工具的
具体位置不知道了, 因为我没安装那个打包工具 .
你在开始菜单里找找 .. 打包完成以后, 会生成一个setup的安装包.同时也会生成一个 suport的文件夹, 还应该有一个 xx.cab的压缩包

你可以:
1- 把 那个文件夹里的东西看看,里面的什么 .ocx 啊 .dll啊 都是你引用的东西
2- 把那个 xx.cab压缩包解压, 里面也是那些内容

然后放到别的电脑上的时候 ,
你可以
1- 把这些东西和exe文件放到一个文件夹里, 然后运行exe,不行的话看提示缺哪个文件,再手动注册
2- 吧那些dll ocx文件拷贝到 系统文件夹的 system32目录下

另外如果你用了 excel之类的 东西.. 最好是在新电脑上装一个 excel.....

回答2:

将自己做的Exe不打包发布是完全可以的. 我做的exe程序就曾直接用rar发布.

这其中有几点要注意:

1. 查看你的程序是否用到注册信息(如注册表):
我觉得你编的程序应该用不到注册表, 所以这项暂不考虑.

2. 查看你的程序是否引用的第三方动态链接库(dll)(ocx):
因为vb编译的程序是非常底层的, 基本不需要任何新的库(dll)就能够运行. 所以我估计你的程序不能在其他机子上运行就是因为你使用了比较罕见的动态库.
这其中通常包括:
2.1 通过 Declare 语句导入的外部函数. 如

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

2.2 通过工具栏使用的第三方控件, 如

网络控件: winsock.dll

针对上述情况, 你应该把程序中使用的外部动态链接库都拷贝到主程序的同一目录下, 这样移植到其他电脑就可以使用啦!

如: 2.1 情况, 在C:/Windows/System32下找到advapi32.dll, 拷贝到本地.
2.2 情况, 在C:/Windows/System32下找到winsock.dll,winsock.ocx, 拷贝到本地.

这样你的程序就应该可以在其他的电脑上使用啦. 如果还不能使用, 就把上述dll/ocx拷贝到目标系统的system32下去, 这样就一定可以巡行了.

我一开始遇到这个问题时也困惑了很久, 这里分享我的经验, 希望对你有帮助.

回答3:

原因:你的文件中含用第三方控件,当其他人电脑里没有这个控件时,程序会报错。

解决方法:把你的邮箱发上来,给你一个VB整合打包工具,直接打开VBP文档,自动整合,整合后生成的EXE程序包含了你执行程序时所有的控件和动态数据库。使别人不需要进行安装就可以执行你的EXE文件。

当然网上也有这样的软件可以下载

回答4:

程序有两种:调试版的即DEBUG和发行版式的RELEASE的,
你刚写完的调试的生成的那个是DEBUG的,需要VB安装目录里的一些动、态键接库,即DLL。
而RELEASE版包括了这些东西,故在其他机子上也可,你可以搜索一下如何发布VB程序就知道了。

回答5:

别的电脑没运行库~你得使用打包工具将VB程序打包才可以~
外接程序==外接
程序管理
--打包和扩展向导(选中加载)--继续点
外接程序--然后点
打包和扩展向导
就可以将做好的VB程序打包了。
希望能解决您的问题。