让VB6显示哪个组件没有安装设计时许可证

时间:2010-01-27 04:34:57

标签: vb6 licensing dll

我继承了一个我试图“制作”的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个奇数参考文献;我如何获得有关哪个组件引发许可错误的更多信息?

有关如何获得更详细的错误消息的任何提示/技巧将非常感谢!

4 个答案:

答案 0 :(得分:12)

值得尝试两者 Microsoft修复程序 - onetwo - 对于此错误,以防您遇到其中一个已知问题。

如果不起作用,请打开VB6 IDE中每个表单的表单设计器。在显示表单时请注意一个错误消息框。显示此错误时,IDE会写入日志文件 formname.log ,该文件提供有关导致问题的控件的详细信息。

答案 1 :(得分:3)

  1. 使用所有相同的引用创建一个新的空应用程序
  2. 确认您仍然遇到同样的问题
  3. 删除参考文件的后半部分
  4. 如果您仍然遇到同样的问题,那么问题在于保留的引用。转到3
  5. 如果没有,则问题在于您删除的引用。把它们放回去。删除你放回的那一半。转到2.
  6. 基本上,只是一个二进制搜索,除了它真的是“二进制删除”。

答案 2 :(得分:2)

所有答案的所有链接都被破坏了...而且,我们中有些人仍在尝试维护或转换旧的VB6应用程序(或两者)。

一个有用的工具是Microsoft的Mark Mark Russinovich的Process Monitor(它直接来自Microsoft.com,并且已经存在了很多年)。它使您可以监视整个计算机系统使用的所有资源,并可以将其筛选为单个资源,进程等。

有用的位是启动程序,然后单击工具栏上的“过滤器”按钮(Ctrl-L)。从那里,您需要添加一条规则。选择Pathbegins 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。

从那里,您可以:

  1. 如果您的许可证允许,请从可运行的PC复制该值,然后将其安装到故障PC中。
  2. 使用Google那个ID,以查看是否有关于如何获取正确的说明 许可(例如从安装媒体中的一个.REG文件之一安装)
  3. 以其他方式获取并安装许可证

虽然它不能告诉您确切的组件与该UUID的对应关系,但至少可以让您获取发生故障的特定UUID,这比任何其他当前答案在其当前状态下所能做的还要远。

答案 3 :(得分:0)

试试这个 http://support.microsoft.com/kb/194751/EN-US 它将修复VB6.0设计时许可证