让 VB6 显示哪个组件没有安装设计时许可证
我继承了一个我正在尝试“制作”的 VB6 项目。
构建在“制作 EXE”步骤中失败,并出现许可错误:
License information for this component not found.
You do not have an appropriate license to use this functionality
in the design environment.
如何找出哪个组件缺少许可证?
该项目有大约15个参考文献;商业和微软之间的混合体。我已经安装了所有明显参考的开发版本/许可证 - 并检查我是否可以成功编译他们的示例应用程序。
其余 13 个奇怪的参考文献中;如何获取有关哪个组件引发许可错误的更多信息?
任何有关如何获得更详细的错误消息的提示/技术将不胜感激!
I've inherited a VB6 project that I'm trying to "Make".
The build fails on the "Making EXE" step with a licensing error:
License information for this component not found.
You do not have an appropriate license to use this functionality
in the design environment.
How can I figure out which component is missing the license?
The project has about 15 references; a mixture between commercial and Microsoft. I've installed development versions / licenses for all the obvious references - and checked that I can compile their sample apps successfully.
Of the remaining 13 odd references; how I can get more information as to which component is throwing the licensing error?
Any tips / techniques on how to get a more verbose error message would be greatly appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
值得尝试两个 Microsoft 修复 - 一个 和 两个 - 对于此错误,以防您遇到已知问题之一。
如果这不起作用,请在 VB6 IDE 中打开每个表单的表单设计器。请注意显示表单时的错误消息框。显示此错误时,IDE 会写入一个日志文件 formname.log,其中提供有关哪个控件导致问题的更多信息。
It's worth trying both the Microsoft fixes - one and two - for this error, in case you've run into one of the known issues.
If that doesn't work, open the form designer for every single form in the VB6 IDE. Look out for an error message box on displaying a form. When this error is displayed, the IDE writes a log file formname.log that gives more information on which control caused the problem.
基本上,只是一个二分搜索,但它实际上是“二分删除”。
Basically, just a binary search, except it's really "binary delete".
所有答案的所有链接都已损坏...并且,我们中的一些人仍在尝试维护或转换旧的 VB6 应用程序(或两者)。
Microsoft 的 Mark Mark Russinovich 的 Process Monitor 是一个有点有用的工具(它直接来自 Microsoft.com,并且已经存在多年)。它允许您监视计算机系统范围内使用的所有资源,并允许您将其过滤到单个资源、进程等。
有用的一点是启动程序,然后单击工具栏上的“过滤器”按钮(Ctrl -L)。从那里,您需要添加一条规则。选择
以
开头的路径
,并且应指向值“HKCR\Licenses”。它位于HKEY_CLASSES_ROOT
部分,其中包含 Active-X 组件许可信息。这些应设置为Include
。单击“确定”,然后单击工具栏上的“清除”(Ctrl-X) 以清除所有当前事件以重置状态。与该规则匹配的事件应该已经填充。
然后,调用您的构建。为了减少混乱,我使用了以下命令:
编译运行后,构建应该失败并显示相同的消息,但只需打开进程监视器,您就可以看到尝试读取但失败的最后一个键。未找到的 UUID 是许可证应驻留的 UUID。
从那里,您可以:
许可证(例如从安装介质中的 .REG 文件之一进行安装) 以
虽然它没有准确告诉您哪个组件对应于该 UUID,但它至少可以让您获取特定的 UUID这是失败的,这比任何其他当前答案在当前状态下所能做的都更进一步。
All of the links of all of the answers are broken... And, some of us are still trying to either maintain or convert old VB6 applications (or both).
A somewhat useful tool was Process Monitor by Mark Mark Russinovich of Microsoft (it is sourced directly off of Microsoft.com and has been around for years). It allows you to monitor all resources used by the computer system wide, and allows you to filter that down to individual resources, processes, etc.
The useful bit is to start the program, and click the "Filter" button from the toolbar (Ctrl-L). From there, you need to add a rule. Select
Path
thatbegins with
and that should be to the value "HKCR\Licenses". That is in theHKEY_CLASSES_ROOT
section, where the Active-X components licensing information is. These should be set toInclude
.Click Ok, and then click Clear on the toolbar (Ctrl-X) to clear all current events to reset the state. Events should already be populating that match that rule.
Then, invoke your build. To cut down on clutter, I used the command:
Once the compile runs, the build should fail with the same message, but simply open the Process Monitor, and you can see that last key that tried to read and failed. The UUID that says not found is the UUID where the license should reside.
From there, you can:
license (such as install it from one of the .REG files from the installation media)
While it doesn't tell you exactly what component corresponds to that UUID, it at least lets you get the specific UUID that is failing, which is further than any of the other current answers can do in their current state.
试试这个
http://support.microsoft.com/kb/194751/EN-US
它将修复 VB6.0 Design Time License
Try This
http://support.microsoft.com/kb/194751/EN-US
It will fixed VB6.0 Design Time License