我继承了一个我试图“制作”的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个奇数参考文献;我如何获得有关哪个组件引发许可错误的更多信息?
有关如何获得更详细的错误消息的任何提示/技巧将非常感谢!
答案 0 :(得分:12)
值得尝试两者 Microsoft修复程序 - one和two - 对于此错误,以防您遇到其中一个已知问题。
如果不起作用,请打开VB6 IDE中每个表单的表单设计器。在显示表单时请注意一个错误消息框。显示此错误时,IDE会写入日志文件 formname.log ,该文件提供有关导致问题的控件的详细信息。
答案 1 :(得分:3)
基本上,只是一个二进制搜索,除了它真的是“二进制删除”。
答案 2 :(得分:2)
所有答案的所有链接都被破坏了...而且,我们中有些人仍在尝试维护或转换旧的VB6应用程序(或两者)。
一个有用的工具是Microsoft的Mark Mark Russinovich的Process Monitor(它直接来自Microsoft.com,并且已经存在了很多年)。它使您可以监视整个计算机系统使用的所有资源,并可以将其筛选为单个资源,进程等。
有用的位是启动程序,然后单击工具栏上的“过滤器”按钮(Ctrl-L)。从那里,您需要添加一条规则。选择Path
,begins with
的值应为“ HKCR \ Licenses”。这是HKEY_CLASSES_ROOT
部分中Active-X组件许可信息所在的部分。这些应设置为Include
。
单击“确定”,然后单击工具栏上的“清除”(Ctrl-X)以清除所有当前事件以重置状态。与该规则匹配的事件应该已经在填充。
然后,调用您的构建。为了减少混乱,我使用了以下命令:
"C:\Program Files (x86)\Microsoft Visual Studio\VB98\vb6.exe" /make <project file> /outdir <exe dest dir>
一旦编译运行,构建应该会失败,并显示相同的消息,只需打开Process Monitor,您就可以看到最后一个试图读取并失败的密钥。显示未找到的UUID是许可证应驻留的UUID。
从那里,您可以:
虽然它不能告诉您确切的组件与该UUID的对应关系,但至少可以让您获取发生故障的特定UUID,这比任何其他当前答案在其当前状态下所能做的还要远。
答案 3 :(得分:0)
试试这个 http://support.microsoft.com/kb/194751/EN-US 它将修复VB6.0设计时许可证