|
Licensing
|
 |
License FAQ
After you have read the licensing description below, be sure to check out the License Frequently Asked Questions over at the License FAQ page.
It contains some of the more common questions about licensing scenarios. If you have any other questions about licensing,
feel free to submit a question at the online comments form. Be sure to include your email address so we can get back to you.
Legal
Our products are licensed using one of the following scenarios. You can
purchase the license that best fits your need.
Server License (not royalty free)
A server license is required for each SERVER, WORKSTATION, PC, or DEVELOPMENT
computer where aspNetEmail is installed.
Note: Our products are not licensed per Domain, URL, IP address or per
processor.
Site License (not royalty free)
The site license allows you to install the product on an unlimited number of
servers at a single, physical location. A physical location is typcially
defined as a single postal address. This is *not* a royalty free license
Per developer, royalty free licenses
As an additional option, aspNetEmail, aspNetPOP3, aspNetMime, aspNetIMAP,
ListNanny, or aspNetMX can be purchased on a per developer basis. This licensing structure
allows you to distibute the software with your products on a royalty-free,
runtime basis. A license will be required for each developer working with the
product or compiling it. Be sure to read the specific terms of the
per-developer section of the license to see if you qualify for this scenario. If
you are reselling your software, this is the only licensing option for your
scenario.
Contact us at
for more information, or if you have any other specific questions.
Legalese
If you are looking for a copy of the legal licensing document they can be found
here:
Plain Text Format
RTF Format
Technical
aspNetDNS
aspNetDNS has it's license keys installed in the dll.
To use the purchased software, you will need to uninstall any previously
installed evaluation software. The dll fully support XCOPY deployment. The
internal license key is NOT tied to a specific machine, IP address, or
location. This allows for XCOPY deployment, something we have strived to
maintain.
aspNetEmail, aspNetIMAP, aspNetMime, , aspNetMX, aspNetPOP3 and ListNanny
These products have their license keys external to the dll, in the form of a
digitally signed Xml file. The following discussion refers to aspNetEmail,
however, aspNetIMAP, aspNetMime, aspNetMX, aspNetPOP3 or ListNanny may be substituted.
Note: The next version aspNetDns will follow this licensing scheme.
The name of this file is in the format [productname].xml.lic. For example, the
aspNetEmail product will have a license file named "aspNetEmail.xml.lic". The aspNetMime
product will have a license file named "aspNetMime.xml.lic".
The Xml file is tied only to an order or company name. It is NOT tied to a specific
machine, IP address, or location. This allows for XCOPY deployment, something
we have strived to maintain.
While other companies tie software to machine names or hard drives. We don't. We
understand that you want to move your application from development server to
production without any problems. Our solution does this, effortlessly and
easily. Unlike other competitor's email components, our licensing does not
"call home", so you do not have to worry about using our components behind
firewalls, or being connected to the internet.
Versions of the License File
Basically, there are two versions of the license file, the evaluation version,
and the purchased version.
Evaluation Version
The evaluation license file can be freely downloaded from http://www.advancedintellect.com/download.aspx
. If you are using a product, and your evaluation license expires, simply visit
the website to download a later copy.
Purchased Version
When you purchase the product, you will be purchasing a non-evaluation license
(.xml.lic file). This will allow you to always download the latest versions
from http://www.advancedintellect.com/download.aspx,
without having to worry about special updates. Your license file will work for
the major version you have purchased. If you ever wish to upgrade, from major
version to major version, there will be a small charge. All minor version
upgrades are free.
Here is an example of what the digitally
signed Xml license file looks like.
How the licensing works
Note: aspNetEmail is used as an example.
aspNetEmail can attempt to automatically locate and load the license file, or
you can manually specify the file's location. Below you will find 4 different
ways of loading the license file.
Loading the License
1.Automatically Detecting the License File
Simply drop the aspNetEmail.xml.lic file in the same directory as the
aspNetEmail.dll, or in the same directory as the exe that is calling the
aspNetEmail component. aspNetEmail will automatically locate and load the
license.
2.Manually specifying it in your .config file
Specify the license location in your .config file. aspNetEmail will check the
config file for specially named keys. It can bind from a major version number,
all the way to down to a build number. For example, let's say we have a version
of aspNetEmail : v3.8.2.1.
The following entry will bind to the specific version 3.8.2.1 of aspNetEmail.
<add
key="aspNetEmail.3.8.2.1.License"
value="c:\aspNetEmail.xml.lic">
The following entry will bind to all versions 3.8.2.* of aspNetEmail.
<add
key="aspNetEmail.3.8.2.License"
value="c:\aspNetEmail.xml.lic">
The following entry will bind to all versions 3.8.*.* of aspNetEmail.
<add
key="aspNetEmail.3.8.License"
value="c:\aspNetEmail.xml.lic">
The following entry will bind to all versions 3.*.*.* of aspNetEmail (basically
any 3.x version of aspNetEmail).
<add
key="aspNetEmail.3.License"
value="c:\aspNetEmail.xml.lic">
If you are not running multiple versions of aspNetEmail, or you don't care how
many versions you are running, and you want all versions to bind to a specific
license flie, simply use the following key.
<add key="aspNetEmail.License" value="c:\keys\aspNetEmail.xml.lic">
And in this example, the license file would be loaded from the \keys\
directory. By manually specifying version numbers, this naming scheme will
allow you to have multiple licenses, and multiple versions of aspNetEmail
running in the same application, without conflict.
Administrators and ISPs
To protect your license file, from malicious users copying it, you can specify
the license file in the machine.config appSettings section. Thus, you can keep
the file private, and do not need to copy it to your customers /bin directory.
You can freely drop the aspNetEmail.dll in their /bin directory, because,
without your purchased license file, they will not be able to use the product,
outside of your servers.
3. Manually Loading the File in Code
You can also manually load the license file in your code. For example, the
following
code snippet will load the file from c:\privatekeys\aspNetEmail.xml.lic
[C#]
EmailMessage.LoadLicenseFile( c:\\privatekeys\\aspNetEmail.xml.lic" );
[VB.NET]
EmailMessage.LoadLicenseFile( "c:\privatekeys\aspNetEmail.xml.lic" )
Likewise, if you are running aspNetEmail from an ASP.NET application, you
can load the file like:
[C#]
EmailMessage.LoadLicenseFile( Server.MapPath( "aspNetEmail.xml.lic" ) );
[VB.NET]
EmailMessage.LoadLicenseFile(Server.MapPath( "aspNetEmail.xml.lic" ) )
4. Manually Loading the License Contents
The last option, is to manually load the license, as a string. By providing
this option, developers could store the license in a central database. This is
useful when a company has purchased a site license, and wants to keep their
entire organization up to date.
[C#]
string xmlLicenseContents = GetLicenseString();
EmailMessage.LoadLicenseString( xmlLicenseContents );
[VB.NET]
Dim xmlLicenseContents As String = GetLicenseString()
EmailMessage.LoadLicenseString(xmlLicenseContents)
Other Software Vendors
This option is also useful for 3rd party developers who want to bundle
aspNetEmail with their own application. By embedding the license file as a
resource (or some other mechanism), 3rd party developers can protect
themselves, by preventing people from casually stealing their purchased
software. The following code snippet demonstrates loading the license from a
previously populated string.
Where GetLicenseString() is a method written by you, that retrieves the license
contents.
If you would like to see how this method works, you can download a sample
project here. This
project demonstrates how to load a license as an embedded resource. It has you
creating your own "AcmeProduct" in a class named "MySuperClass". As an added
exercise, you may want to encrypt the license contents so anyone with a
resource viewer won't extract your license as plain text.
Note:You will need to download the aspNetEmail.dll along with a valid license
file to get this to run.
Summary
This section detailed how aspNetEmail uses a digitally signed Xml file to
enforce licensing. It also covered the 4 ways you can specify or load a
license. If you have any other questions, feel free to send us an email at
Testimonial
 |
[In response to a feature request implementation] Got it and thanks a million. I was able to work with it last night and implement today – I really appreciate you quick response.
"
|
 |
| Read more testimonials |
|