分发用 VB6 开发的 Visio 插件 [英] Distributing Visio addin developed in VB6

查看:12
本文介绍了分发用 VB6 开发的 Visio 插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有在编译时生成 DLL 的旧 VB6 Addin (Visio) 源代码.我需要将此 dll 分发给最终用户,但是当我在用户的 PC 上以管理员身份运行以下命令时:

regsvr32 MyAddin.dll

它抛出:

模块MyAddin.dll"已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80004005.

为了调试它,我创建了一个新的 VB6 插件项目,在 Connect.Dsr 中将应用程序更改为Microsoft Visio".并尝试将此 dll 安装到具有 Visio 的新 Windows 10 VM.仍然得到同样的错误.

由于这个 dll 在我的 PC 上工作,并且我的 PC 和 VM/用户 PC 之间的唯一显着区别是 VB6 Enterprise IDE,所以我在 VM 上安装了Visual Basic 6 Enterprise",之后我就可以在那里注册 dll也是.显然我不能要求最终用户安装 Visual Basic 6 Enterprise,我怎么知道Addin"项目模板的依赖关系?或者我应该在我的设置中捆绑 VB 6 Enterprise 中的最低限度的文件?

这是生成的dll的依赖截图,这里没什么花哨的

解决方案

Windows 错误0x80004005"尤其发生在用户因不可预见的原因而被拒绝访问应用程序、服务或设备的情况下.

来自

I have old VB6 Addin (Visio) source code that generates DLL when compile. I need to distribute this dll to end user, but when I run following command as Administrator on user's PC:

regsvr32 MyAddin.dll

it throws:

The Module "MyAddin.dll" was loaded but the call to DllRegisterServer failed with error code 0x80004005.

To debug this I created a new VB6 Addin project, changed Application to "Microsoft Visio" in Connect.Dsr. and tried to installed this dll to fresh windows 10 VM having Visio. Still got the same error.

Since this dll works on my PC, and only significant difference between my PC and VM/user's PC is VB6 Enterprise IDE, so I installed "Visual Basic 6 Enterprise" on the VM, after which I was able to register dll there as well. Obviously I can't ask end user to install Visual Basic 6 Enterprise, how can I know the dependencies for "Addin" project template? or which are the bare minimum files from VB 6 Enterprise should I bundle in my setup?

Here's the screenshot of dependency of generated dll, nothing fancy here

解决方案

The Windows error "0x80004005" occurs particularly in situations in which users are denied access to an application, a service or a device for unforeseeable reasons.

Process Monitor from https://docs.microsoft.com/en-us/sysinternals/downloads/procmon might be of some help. Run it as admin, create an appropriate filter and see if somethig useful pops up.

这篇关于分发用 VB6 开发的 Visio 插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆