[求助]使用VB自带程序制作安装程序时,遇到429错误:ActiveX component can't create object

时间:2022-08-29 23:49:22
----------------------------------
问题描述:

在自己的项目中,使用了自定义的一个OCX控件。

该控件在PC上已经使用REGSVR32注册,并在程序中运行正常。

现使用VB自带的安装制作程序制作发布程序,在package时就遇到429错误:ActiveX component can't create object。

网上说可能是一下几种情况:
1.You do not have a required TLB or ActiveX DLL/OCX file. 
2.A TLB or ActiveX DLL/OCX needed by the project is present but not registered on your system. 
3.The VB runtimes are an earlier version than the one you need to run the project. 
4.A required TLB or ActiveX DLL/OCX file is corrupt. 

但具体原因我一下午都没有查明
----------------------------------

请教大家,遇到这个问题是怎么解决的?

9 个解决方案

#1


两个原因
1/是你的控件中使用了其他控件,而其他控件没有包含进来
2/是你的控件没有正确注册

#2


我的控件中只有基本控件,pictureBox、Timer和Image

它们怎么包含到我的控件中来呢?

#3


如何判断我的控件是否正确注册呢?
运行regsvr32返回是正确注册了的

#4


那就怪了。说不定是用户权限的问题,可以多试几台机器,看看是不是每台都这样。

#5


我是在制作安装的时候出这个问题的,我用的就是管理员权限……
大家江湖救急啊……

#6


你虽然注册了,但是注册的地方对不对?有些是必须要放到system32下注册的
实在不行,用setupfactory打包试试

#7


还是不对,我在system32下面注册了,仍然出相同的错误。

会不会是控件本身的问题?但控件在自己的程序中运行没有出错……

#8


问题终于解决了……

在一个论坛上搜索到的……

只要注册一下
D:\Program Files\Microsoft Visual Studio\Common\Wizards98\HOSTWIZ.DLL  和
D:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\PDWIZARD.OCX就行了

我用的是英文版的VB,开始在找这个问题时一直用的是英文提示在搜索,最后用中文提示来搜索,终于发现解决问题的答案了……

可是只是找到了解决方法,还不清楚其具体问题所在。
还希望VB论坛的高手出来解答一下,先谢过了!

#9


下面是Microsoft的解释:
症状
当您使用打包和部署向导, 以下两种情况中可能出现错误 429: • 当您打开打包和部署向导, 出现此错误消息: 
运行时错误'429':
ActiveX 组件无法创建对象 
- 或 - 

 
• 打包和部署向导, 中选择 部署 包 或按钮后将出现以下错误消息:


发生意外错误号 429: ActiveX 组件无法创建对象。  

 回到顶端 

原因
需要通过打包和部署向导文件不存在或开发计算机上未正确注册。 

解决方案
要解决该问题, 请使用以下步骤: • 如果您尝试打开打包和部署向导, 时出现错误需要要卸载打包和部署向导, 手动注册文件命名 Pdwizard.ocx, 并再加载向导。

1. 从 加载项 菜单, 选择 加载项管理器 。 
2. 从可用加载项的列表选择 打包和部署向导 。 
3. 清除 Loaded / Unload 复选框 加载行为 部分中的 加载项管理器 对话框中, 然后关闭对话框。 
4. 通过使用 RegSvr 32 实用注册 Pdwizard.ocx 文件。 在 Windows 开始 菜单上, 选择 运行 然后执行以下命令:
Regsvr 32 " C:\ProgramFiles\Common Files Visual Studio\VB98\WIZARDS\PDWIZARD\pdwizard.ocx "  
5. 从 加载项 菜单, 选择 加载项管理器 。 
6. 从可用加载项的列表选择 打包和部署向导 。 
7. 检查 Loaded / Unload 检查 加载项管理器 对话框的 加载行为 部分中, 然后关闭对话框。 
 
• 如果只选择 包 或 部署 按钮后, 发生错误命名 Hostwiz.dll 文件需要手动注册。

1. 通过使用 RegSvr 32 实用注册 Hostwiz.dll 文件。 在 Windows 开始 菜单上, 选择 运行 , 然后执行以下命令: Regsvr32C:\Windows\System " C:\ProgramFiles\Common Files Visual Studio\COMMON\Wizards98\hostwiz.dll "  


再次谢谢Dunzip(路登软件,一路登先!)和KissApple(菊花普洱茶) 的热心解答!

#1


两个原因
1/是你的控件中使用了其他控件,而其他控件没有包含进来
2/是你的控件没有正确注册

#2


我的控件中只有基本控件,pictureBox、Timer和Image

它们怎么包含到我的控件中来呢?

#3


如何判断我的控件是否正确注册呢?
运行regsvr32返回是正确注册了的

#4


那就怪了。说不定是用户权限的问题,可以多试几台机器,看看是不是每台都这样。

#5


我是在制作安装的时候出这个问题的,我用的就是管理员权限……
大家江湖救急啊……

#6


你虽然注册了,但是注册的地方对不对?有些是必须要放到system32下注册的
实在不行,用setupfactory打包试试

#7


还是不对,我在system32下面注册了,仍然出相同的错误。

会不会是控件本身的问题?但控件在自己的程序中运行没有出错……

#8


问题终于解决了……

在一个论坛上搜索到的……

只要注册一下
D:\Program Files\Microsoft Visual Studio\Common\Wizards98\HOSTWIZ.DLL  和
D:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\PDWIZARD.OCX就行了

我用的是英文版的VB,开始在找这个问题时一直用的是英文提示在搜索,最后用中文提示来搜索,终于发现解决问题的答案了……

可是只是找到了解决方法,还不清楚其具体问题所在。
还希望VB论坛的高手出来解答一下,先谢过了!

#9


下面是Microsoft的解释:
症状
当您使用打包和部署向导, 以下两种情况中可能出现错误 429: • 当您打开打包和部署向导, 出现此错误消息: 
运行时错误'429':
ActiveX 组件无法创建对象 
- 或 - 

 
• 打包和部署向导, 中选择 部署 包 或按钮后将出现以下错误消息:


发生意外错误号 429: ActiveX 组件无法创建对象。  

 回到顶端 

原因
需要通过打包和部署向导文件不存在或开发计算机上未正确注册。 

解决方案
要解决该问题, 请使用以下步骤: • 如果您尝试打开打包和部署向导, 时出现错误需要要卸载打包和部署向导, 手动注册文件命名 Pdwizard.ocx, 并再加载向导。

1. 从 加载项 菜单, 选择 加载项管理器 。 
2. 从可用加载项的列表选择 打包和部署向导 。 
3. 清除 Loaded / Unload 复选框 加载行为 部分中的 加载项管理器 对话框中, 然后关闭对话框。 
4. 通过使用 RegSvr 32 实用注册 Pdwizard.ocx 文件。 在 Windows 开始 菜单上, 选择 运行 然后执行以下命令:
Regsvr 32 " C:\ProgramFiles\Common Files Visual Studio\VB98\WIZARDS\PDWIZARD\pdwizard.ocx "  
5. 从 加载项 菜单, 选择 加载项管理器 。 
6. 从可用加载项的列表选择 打包和部署向导 。 
7. 检查 Loaded / Unload 检查 加载项管理器 对话框的 加载行为 部分中, 然后关闭对话框。 
 
• 如果只选择 包 或 部署 按钮后, 发生错误命名 Hostwiz.dll 文件需要手动注册。

1. 通过使用 RegSvr 32 实用注册 Hostwiz.dll 文件。 在 Windows 开始 菜单上, 选择 运行 , 然后执行以下命令: Regsvr32C:\Windows\System " C:\ProgramFiles\Common Files Visual Studio\COMMON\Wizards98\hostwiz.dll "  


再次谢谢Dunzip(路登软件,一路登先!)和KissApple(菊花普洱茶) 的热心解答!