Windows Vista / Windows 7 Guide
As a licensing and copy protection system hooks deeply into the Windows operating system, it often requires modifications.
Licence Protector is fully Windows Vista compatible:
• | Considers registry limitations |
• | Runs with limited user rights |
• | Offers a signed DLL |
To use your application with Licence Protector and Windows Vista only a few modifications are necessary:
• | Install Licence Protector version 2.51 or higher |
• | Use the signed EasyGo.DLL |
• | Install the license file to C:\ProgramData\yourcompany name\appname\app.lic - see details |
How to retrieve the correct folder name
Considerations The installation has to be done in administrator mode. A user with a standard account will automatically be prompted to provide administrator credentials.
If User Account Control is enabled (default) the following installation scenario is NOT working.
If the standard user starts your application, Licence Protector will write back information in the licence file (depending on the features your are using). The file would be virtualized to the folder C:\Users\username\AppData\Local\VirtualStore\Program Files\YourApp\app.lic.
Although your application would open the licence file on C:\Program Files\YourApp\app.lic, the file would be opened in c:\Users\username\AppData\Local\VirtualStore\Program Files\YourApp\app.lic. The result would be that each user has a different licence file. Recommendation Although we found no recommended procedure from Microsoft how to share a file on one PC for all users, the following installation process will work.
By default, standard users have only Read access and the folder is not visible. See below how to set write access to this folder. Retrieve folder names You can retrieve the folder name via the registry.
|
• | Set write access for the group 'users' to this folder - see details |
|
• | Problems to register a DLL in Vista / Windows 7 |
Check comments how to register a DLL and which problems may occur
Installation of the DLL
The folder ..\files for distribution contains all Licence Protector DLLs. There is an folder with a compressed version and uncompressed version. We recommend using the uncompressed version because it works with all compilers and operating systems.
There is an option to install the DLL without registering it. This allows to install without administration rights. See details - use DLL without registering.
The installation has to be done in administrator mode. A user with a standard account will automatically be prompted to provide administrator credentials. Make sure that you use the option in your installer: Require Administrator so that the installer compiles with a manifest file, which always requires the installation package to run as an administrator.
You should copy the licprotectorxy.dll to the \windows\system32 folder although it could also be installed in your program directory. As each DLL version of Licence Protector has an own ProgID, multiple different versions can be installed on the same machine.
If an installation tool like Wise or Install Shield is used, the registration of the DLL is done automatically by these tools. If you copy the DLL manually with your program, you have to register the DLL manually - use c:\windows\system32\regsvr32.exe ....\pathname\LicProtector300.dll.
|
• | Sign your installer file to avoid error messages after download or after starting the installer see details![]() |
Sign your Installer file Although you could deliver an unsigned installer file, we recommend adding your digital signature. You can buy a code-signing certificate from one of the accredited providers like www.verisign.com, www.thawte or www.comodo.com.
With the digital signed installer file your users do not get warning messages when they download the file or start the file.
|
In Visual Studio 2008 or Visual Studio 2005 with .NET Framework 2.0 SP1, generated EXE files have a Data Execution Prevention flag set. To get your application running under Windows Vista / Windows 7, you need to remove this flag.
If you get an error message with the 800703e6 then the cause is the DEP flag.
Starting with Service Pack 2.6.4 the compile switch is no longer required, if you use the uncompressed DLL version in the folder Licence Protector\3.0\files for distribution\signed-uncompressed.
See also 64bit operating systems.
Code Protection with Multimedia Protector To protect the code against de-compilation or reverse engineering, you can combine Licence Protector with Multimedia Protector for a special bundle price.
See chapter: Code Protection / Decompile Protection
|
Licence Protector is a 32bit DLL. It runs on 64bit operating systems like Vista / Windows 7 64bit or Windows 2008 Server 64bit as long as the main application is compiled for 32bit.
Versions below 3.1 require the following compile settings. NET applications require to be compiled for x86 CPU. A compile setting for any CPU will generate an error 80040154 at runtime.
Find below how to change the settings for Visual Basic 2008. Other .NET compilers have a similar option.
To change the platform open the project properties and click under the submenu "Compile" on the button "Advanced Compile Options...":
Now you can change Target CPU from "Any CPU" to "x86".
|
A file name, which has words like setup or install in the name, would have as a result, that the file needs administration rights. In Vista / Windows 7, the UAC (user account control) would pop-up. For more details about EXE names and Vista read this blog. |