获取VB6以显示未安装设计时许可证的组件

问题描述 投票:5回答:4

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

关于如何获得更详细的错误消息的任何提示/技术,将不胜感激!

vb6 licensing dll
4个回答
12
投票

值得尝试both Microsoft修复此错误-onetwo-以防您遇到已知问题之一。

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


3
投票
  1. 使用所有相同的引用创建一个新的空应用程序
  2. 确认您仍然有相同的问题
  3. 删除参考文献的后半部分
  4. 如果您仍然遇到相同的问题,则问题出在剩下的引用上。转到3
  5. 如果不是,则问题出在您删除的引用上。放回去删除您放回的那一半。转到2。

基本上,只是一个二进制搜索,只是它实际上是“二进制删除”。


1
投票

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


0
投票

所有答案的所有链接都已断开...而且,我们中的某些人仍在尝试维护或转换旧的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。

从那里,您可以:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.