在 64 位系统打包的 vb 程序 在 32 位系统运行出错
vb吧
全部回复
仅看楼主
level 7
GASUSYZ 楼主
我是在 64 位 win7 开发打包的,在其实 32 位操作系统下出错,图一是一台电脑出的错,图二图三是另一台电脑出的错。而在 64 位 win7 就运行正常。以兼容方式运行也不能解决请问非要打包两种吗?即 32 位下打一次 64 位下打一次。谢谢🙏
2024年01月24日 20点01分 1
level 5
win10打包没出过问题
2024年01月24日 22点01分 2
你是用什么打的包,我没用 vb 自带的“外接程序管理器”而是用“Setup Factory 7.0”
2024年01月24日 22点01分
level 7
GASUSYZ 楼主
顶🆙
2024年01月25日 00点01分 3
level 13
图标问题
2024年01月25日 01点01分 4
图标引起的是未知错误,怎么会引起 comdlg32 注册不成功?我却看 32 位 system32 下确实没有 comdlg32 这 ocx
2024年01月25日 02点01分
level 7
GASUSYZ 楼主

2024年01月25日 02点01分 5
level 7
GASUSYZ 楼主
做等大神来指点
2024年01月25日 02点01分 6
level 15
不懂,不过我记得有些程序的安装包就是分成32位和64位两个版本的,或许确实需要分开来?
2024年01月25日 13点01分 7
我在试[泪]
2024年01月25日 13点01分
level 7
注册的位置不对,指定注册在system32就好
2024年01月26日 01点01分 8
win 32 和 64 位置不一样,这么说也是要打包成两种了嘛?
2024年01月26日 01点01分
@GASUSYZ 应该是。我在32位setupfactory打包到默认system,64位电脑上装在64里,exe在system32里找不到报错,装在32里就好了。
2024年01月26日 01点01分
另做注册控件的exe。我做软件的电脑是32位,安装的电脑五花八门,但极少碰到控件注册的位置和软件要找的位置不一样,百分之一,碰到了就手工搞一下
2024年01月26日 01点01分
你知道怎么在 32 或 64 下打包成 64 或 32 程序吗?就是用 setup factory
2024年01月26日 02点01分
level 1
可能是控件没有注册。
2024年01月26日 05点01分 9
费话,那大个消息框,只要识字的都知道,控件注册问题,不懂装懂
2024年01月26日 07点01分
@GASUSYZ 你这一种什么都懂的态度,何必来帖吧问人呢?吧友给出参考方向还要被你骂[泪]
2024年01月26日 09点01分
@贴吧用户_71d5c9b 你都没看清我的问题。我问的是:是不是要打两种包。你回答的是为什么错。消息框明确给出错误,你还回答一次[委屈]
2024年01月27日 02点01分
@GASUSYZ 50003除了图标原因,有时也是因为控件版本的原因。系统不一样,控件版本经常不一样。有些是系统自带的,有些是自己手动安装的,有些是安装程序附带的(比如你目前为了自己的程序正常运行,就强制注册自己附带的控件,也有可能会导致用户的其它程序运行不正常)。
2024年01月27日 04点01分
level 11
vb6都是32位程序的
你用管理员权限运行就能自动注册同目录下的ocx了
2024年01月26日 08点01分 10
确实,一般会自动注册。只是操作系统不同,ocx版本也不同。我用某个版本的ocx,能运行,但不能在vb6中编辑,注册另外版本的才能编辑。还有楼主也没明确是vb6还是其它版本,vb6只有32位,vb.net一些版本能配置编译64。
2024年01月26日 10点01分
level 1
用manifest 免注册ocx。基本上注册ocx,你就开始要输了。
注意 微软 2021-3-25 的vb6 sp6更新包。把这个更新包里面的 所以 ocx 解压出来(注意不要安装,你可能安装不了,只解压,取出所有的ocx,然后替换vb6里面的同名ocx).
2024年01月27日 02点01分 11
问题是这个manifest 如何生成?有没有软件可以自动生成的呢?
2024年02月01日 15点02分
1