LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MSComDlg.ICommonDialog "Class is not licensed" error in LV v8.20

I'm using an Automation Refnum control linked to MSComDlg.ICommonDialog for the purpose of displaying a printer dialog in my application. When the Automation Refnum control is passed to the Automation Open VI during execution I get:
"Error -2147221230 occurred at Class is not licensed for use in ..." followed by the name of my VI.
 
On the way to posting this message I found a KnowledgeBase article addressing this error. It points you to a Microsoft KnowledgeBase article that recommends a download utility (vb6cli.exe) that fixes this issue for Visual Basic 6 installations.
When I run the utility on my development computer it fails because I don't have VB6 installed.
 
comdlg32.ocx (3/9/2004 4:45 pm) exists in the System32 folder on my development computer (Windows XP, SP2). The only programming language that is installed on the computer is LabVIEW v8.20.
 
Is there a fix for this problem that works in the context of LabVIEW?
Will this problem resurface when I distribute my application?
Message 1 of 4
(4,773 Views)
Sounds like the dll you're referencing requires the Microsoft's VB 6 runtime.  You can grab it from http://microsoft.com/downloads, or by following this link to the VB 6 Runtime.
TheDillo
0 Kudos
Message 2 of 4
(4,762 Views)

Thank you for the suggestion.

I have obtained the Service Pack 6 for Visual Basic 6.0: Run-Time Redistribution Pack (vbrun60sp6.exe).

Prior to installing it, I checked to see if the files in the Pack were already on my computer; they were.

I then installed the redistribution pack, restarted the computer, and still have the error described in the original posting.

 

So, I'm still in the market for a solution, if any one out there has one.

0 Kudos
Message 3 of 4
(4,759 Views)
Several of the ActiveX objects that Microsoft Develops require a developer license to redistribute.  If you've got VB6 installed on the original computer, then perhaps that computer does indeed have a license for it.  I would contact Microsoft about licenses for this.

Another option would be to use .NET Print Dialog.  I'm not familiar with how that might be setup, however, I do know that there are no liceneses.  The only thing the end customer would need to have is the .NET Framework installed.

Hope this helps,
TheDillo
0 Kudos
Message 4 of 4
(4,734 Views)