Infralution Support Forum Index Infralution Support
Support groups for Infralution products
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Need help with upgrade from ILS 3.5 to 5

 
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support
View previous topic :: View next topic  
Author Message
JohnnyRoy



Joined: 09 Aug 2006
Posts: 4
Location: New York, USA

PostPosted: Sun Nov 04, 2012 7:43 pm    Post subject: Need help with upgrade from ILS 3.5 to 5 Reply with quote

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
View user's profile Send private message Visit poster's website
Infralution



Joined: 28 Feb 2005
Posts: 5027

PostPosted: Mon Nov 05, 2012 2:09 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
JohnnyRoy



Joined: 09 Aug 2006
Posts: 4
Location: New York, USA

PostPosted: Tue Nov 06, 2012 3:14 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support All times are GMT
Page 1 of 1

 
Jump to:  
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