分发在VB6中开发的Visio插件 [英] Distributing Visio addin developed in VB6
问题描述
我有旧的VB6插件(Visio)源代码,在编译时会生成DLL.我需要将此dll分发给最终用户,但是当我在用户PC上以管理员身份运行以下命令时:
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
它抛出:
The Module "MyAddin.dll" was loaded but the call to DllRegisterServer failed with error code 0x80004005.
为调试此问题,我创建了一个新的VB6外接程序项目,在Connect.Dsr中将应用程序"更改为"Microsoft Visio".并尝试将此dll安装到具有Visio的Windows 10 VM.仍然出现相同的错误.
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.
由于该dll在我的PC上可以使用,并且我的PC与VM/用户PC之间的唯一显着区别是VB6 Enterprise IDE,因此我在VM上安装了"Visual Basic 6 Enterprise",之后便可以在其中注册dll也一样显然,我不能要求最终用户安装Visual Basic 6 Enterprise,如何知道"Addin"项目模板的依赖关系?还是应该在安装程序中捆绑VB 6 Enterprise的最低限度文件?
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?
这是生成的dll依赖项的屏幕快照,在这里没什么花哨的
Here's the screenshot of dependency of generated dll, nothing fancy here
推荐答案
尤其是在因不可预见的原因而拒绝用户访问应用程序,服务或设备的情况下,会发生Windows错误"0x80004005".
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.
来自> https://docs.microsoft.com/zh- us/sysinternals/downloads/procmon 可能会有所帮助.以管理员身份运行它,创建一个合适的过滤器,然后查看是否弹出有用的东西.
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屋!