| Why Licensing? We
decided to implement a licencing schema for design-time usage of the @ctiVideo control
family starting with version 1.5. This will not affect our loyal customers in any way. It
will only prevent unauthorized usage of the controls in applications, designed by people,
who have not paid the registration fee. We believe, that this will actually benefit our
loyal customer base, as it will allow us to implement more exciting features in the future
versions of our products.
I'm trying to use a control in a web page, but I keep getting a
message that I don't have the licence to use this control. How can I use a licensed
control in a web page?
32-bit ActiveX controls can be used in a web page. If using the licensed version of
a control you will need to create an LPK file. The browser treats a control the same as if
it were in development mode. To get around this, you must create a run-time license file
(.LPK) for the control.
The LPK file is generated using LPK_TOOL.EXE available on the VB5 CD or from the Microsoft
web site. Basically, it reads the design time .LIC file and creates a distributable file
that the browser can recognize (the .LPK cannot be used in leiu of the .LIC if using a
development environment such as VB).
The LPK object must be placed BEFORE the reference for the licensed control object because
the browser must find the license information before finding the control or the control
won't load.
Below is an example. The CLASSID of the LPK object is always the same, so you can use the
below code as shown (of course, you would need to change the VALUE).
Note -- the VALUE is a relative URL to the file, not an absolute URL (ie--
"/somedir/mylpk.lpk" is valid, but "http://www.domain.com/mylpk.lpk"
is not a valid value for the LPK object).
[HTML]
[OBJECT CLASSID="clsid:5220CB21-C88D-11cf-B347-00AA00A28331"]
[PARAM NAME="LPKPath" VALUE="somectrl.lpk"]
[/OBJECT]
[here is where you could insert the Barcode control object]
Why do I get a message, saying the licence information cannot be
found when I use a registered control on my customer's machine? The environment is Access
(or Outlook, LotusScript, Computer Associate's Visual Objects, etc.)
When a control loads, it can detect whether it is in a development mode or run-time
mode. Some environments such as MS Access, MS Internet Explorer, MS Outlook, and possibly
VisualObjects, are both run-time and development environments. In these cases, a licensed
control will require the .LIC file to be present or the control will not load.
Since licensed controls require .LIC files when in development mode, but most controls
(including @ctiVideo controls) do not allow distribution of the .LIC file, most of these
environments have some technology to handle this scenerio. For example, Microsoft
developed LPK technology for IE and Outlook which allows the .LPK file to be created from
the .LIC file and create a run-time version of the .LIC.
For MS Access applications, one needs the Office97 Developers Edition allows the creation
of a runtime-only versions of Access databases.
You will probably need to contact the developer of the environment or you might try
posting a question in a newsgroup for the environment asking how to use a licensed control
in that environment.
What is
@ctiVideo's license agreement?
The basics of your license agreement are simple: register one copy of the
control(s) per developer on your project and distribution is royalty-free. Only distribute
our controls with your stand-alone applications. Never distribute the .LIC file with your
application.
The complete license is available in the control's help file.
Do
I give the license information to the user?
No. Absolutely not. This is for your use only. It is the piece that allows you to
use the control in design environment. The end user has no need for this information.
Why can't I use @ctiVideo control inside an ActiveX control in my
application?
When a control is loaded, the environment in which it is used reports whether it is
being loaded in a run-time mode or design time mode. The license requirement is only
checked when the environment tells the control that it is being loaded in a design mode.
So, the environment in which the control is loaded determines whether the control detects
its in design mode or runtime mode. As an example, depending upon the technology, you may
or may not be able to use a licensed control in a VB5 ActiveX control.
You CAN use a licensed control as a constituent control in a VB5 ActiveX control when the
VB5 control is used in a web page because the Microsoft created LPK technology which
allows you to create a special "browser-only" run-time license. The environment
reports that its a design mode, but the LPK file acts like a special LIC file and the
control is allowed to load.
However, you CANNOT use that same control as part of a standalone application because the
VB5 virtual machine loads the control as though it were being loaded in design mode. In
this case, there is no special technology available so the control looks for the .LIC
file. Unless this is executed on the development machine, the control will not load.
Please note that this is a function of VB and it effects all licensed controls, not just
the @ctiVideo controls. Article Q175325 in the Microsoft Knowledgebase explains this in
greater detail, or choose the "Books Online" menu item from VB's Help menu and
select the item "Controls You Can Use As Constituent Controls" for additional
info.
A similar example is Access which is both a runtime and design time environment. One must
use the something like the Office97 Developers Edition which allows you to create
runtime-only versions of Access databases or Access reports that the control is loaded in
design mode and the presence of the LIC is checked.
In short, unless there is some scheme (such as LPK) for handling the license requirements,
the control will not load in environments that load it in a design-time mode.
I have embedded and compiled my application using one of your
controls, but my application will not run on the target machine unless I also copy the
OCX. Why?
When you use an ActiveX control, the control must be installed on the target machine --
the OCX is not actually embedded in the .EXE, it is linked and the EXE will call the OCX
library as needed.
Since licensed controls require .LIC files when in development mode, but most controls
(including @ctiVideo control 1.5 and later) do not allow distribution of the .LIC file,
you do not distribute the .LIC file. The control can detect whether its being loaded in
design mode or run-time mode and the .LIC file is not required when running in runtime
mode. Check the documentation of your environment for information on how to include and
distribute a licensed control with your application.
Can I create a VB5 ActiveX control around one of your controls and
use as part of my application?
You cannot use a licensed control in a VB5 ActiveX control unless there is some
scheme (such as LPK) for handling the license requirements. This is a function of VB --
see article Q175325 on the MS Knowledgebase. Also, choose the "Books Online"
menu item from VB's Help menu and select the item "Controls You Can Use As
Constituent Controls" for additional info.
You can use a licensed control as a constiuent control when using the control in a web
page because the LPK file creates a special "browser-only" run-time license.
|