|
Infralution Support Support groups for Infralution products
|
View previous topic :: View next topic |
Author |
Message |
JohnnyRoy
Joined: 09 Aug 2006 Posts: 4 Location: New York, USA
|
Posted: Sun Nov 04, 2012 7:43 pm Post subject: Need help with upgrade from ILS 3.5 to 5 |
|
|
I've been using ILS version 3.5 for quite a while and it's worked great until Windows 8 came along. Now my license evaluations no longer work because the location in the Windows registry that ILS 3.5 uses to store the evaluation date no longer exists in Windows 8. So I'm looking at upgrading to ILS 5 but here's my problem:
I have implemented quite a few enhancements to ILS 3.5 by subclassing so simply compiling my code against the trial of ILS 5 has a fair amount of breakage even though I handled those enhancements in an OO way. I assume the breakage is due to class restructuring because instantiating an EvaluationMonitor fails because it's now an abstract class.
Here is what I've added:
(1) The ability to store the license in the Windows registry instead of a file
(2) License Types: Retail, RetailWithExpiration, Evaluation, & EvaluationWithFixedExpiration
(3) Prefix for license keys so that I could tell them apart for each product
I'm wondering if ILS 5 has implemented some of these so that I don't have to port my changes.
I implemented (1) & (3) by subclassing EncryptedLicenseProvider with a new class ExtendedLicenseProvider and added a GetLicense() method that accepts a registry key instead of a file name and overrode all of the methods that read the key from a file (e.g., ReadKeyFromFile(), InstallLicense() ) to strip off my prefix.
I implemented (2) by subclassing EncryptedLicense with a new class I call ExtendedLicense and adding the various LicenseTypes and check for isRetail, EvaluationDaysRemaining, etc.
Will the enhancements I've made still work with ILS 5? Are some of them not necessary? and most of all, will evaluations work for Windows 8 as well as Windows 7, Vista, & XP?
Thanks in advance for any advice you can give. _________________ ~jr |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Mon Nov 05, 2012 2:09 am Post subject: |
|
|
Yes there has been some significant restructuring of the classes since Version 3. In particular note the following changes (from the release notes):
- Split Infralution.Licensing assembly into separate assemblies for each platform (Windows Forms, WPF, ASP.NET and CF).
- Restructured EncryptedLicenseProvider and AuthenticatedLicenseProvider classes to eliminate the use of the static/shared SetLicenseParameters method. This makes using multiple instances these classes (particularly in multi-threaded apps) much cleaner. The classes now require using a constructor that takes the license parameters and the name of the license file. It also simplifies the EncryptedLicenseInstallForm and AuthenticatedLicenseInstallForm. These now define ShowDialog methods that take the license provider as a parameter. This is a breaking change. Client code that uses these classes will need to be refactored to create an instance of the LicenseProvider (passing the license parameters and license file in the constructor) and then pass this license provider to the install form ShowDialog method. See the sample projects for the recommended implementation.
- Restructured EvaluationMonitor as an abstract base class with two derived classes (RegistryEvaluationMonitor and IsolatedStorageEvaluationMonitor). The IsolatedStorageEvaluationMonitor class provides an implementation of the EvaluationMonitor class for situations when registry access may not be available (for instance when developing web applications or components that need to run under partial trust). Applications that previously created instances of the EvaluationMonitor will need to be recoded to use the RegistryEvaluationMonitor.
- Changed EvaluationDialog constructor methods to take the EvaluationMonitor as a parameter. This decouples the EvaluationDialog code from a direct dependence on the RegistryEvaluationMonitor implementation and allows it to be used with any implementation of EvaluationMonitor. Applications that used the old EvaluationDialog constructors will need to be recoded to create an instance of the RegistryEvaluationMonitor and pass it to the EvaluationDialog constructor.
You will still need to add your enhancements - this should be fairly similar to what you did in version 3. Evaluations do work in XP, Vista, Windows 7 and Windows 8 - however because of changes to the permissions/security model in Vista and Windows7/8 the evaluation data cannot be stored in a machine wide location and so is stored per user in this case. _________________ Infralution Support |
|
Back to top |
|
|
JohnnyRoy
Joined: 09 Aug 2006 Posts: 4 Location: New York, USA
|
Posted: Tue Nov 06, 2012 3:14 pm Post subject: |
|
|
Thanks for such a detailed reply. I've been working with it a bit more and I can probably adopt my changes to the new object model.
Thanks, _________________ ~jr |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|