Upgrading from SmartZone ICR 3 to SmartZone ICR 7
This section describes how to upgrade from SmartZone 3 to SmartZone 7. While generally you'll be able to replace SmartZone 3 with SmartZone 7, there are a few important changes you may need to consider.
Assembly Changes
Projects must now target .NET Framework 3.5 or later to build with the SmartZone ICR assembly.
The assembly filename has been renamed from Accusoft.SmartZoneICR3.Net.dll to Accusoft.SmartZoneICR.Net.dll. Project references must be updated to use the new assembly.
Some native libraries that were previously integrated in the Accusoft.SmartZoneICR.Net assembly are now included as separate dlls. These libraries will be extracted to the same directory as the assembly when using the Nuget Package. For Windows the libraries are named Accusoft.SmartZoneICR.Common.dll and Accusoft.SmartZoneICR.Common64.dll. For Linux distributions, the name of the file is Accusoft.SmartZoneICR.CommonLinux64.so. These need to be included when redistributing any application that uses the SmartZoneICR SDK.
Licensing Changes
The SmartZone runtime licensing scheme has changed completely, but you can replace the existing with at most three lines of code. See Changing to Automatically Reported Runtime Licensing and Changing to Manually Reported Runtime Licensing sections below for runtime licensing code examples.
Standard Edition licenses are no longer supported and will not be issued for SmartZone 7.
API Changes
- Removed
- Licensing.LicenseEdition property
- LicenseEditionType enumeration
- Licensing.UnlockRuntime method
- Licensing.UnlockWeb method
- Changed
- Added
The class Accusoft.SmartZoneICRSdk.SmartZoneException now derives from System.Exception instead of System.ApplicationException. Applications that explicitely catch System.ApplicationException to handle SmartZone exceptions will need updating.
Changing to Automatically Reported Runtime Licensing
Automatically Reported Runtime requires a license to be installed on the end-user's machine. See the Licensing section for more information.
In your SmartZone ICR 3 codebase, replace the UnlockRuntime method with calls to the SetSolutionName and SetSolutionKey methods.
C#
smartzoneICR1.Licensing.SetSolutionName("YourSolutionName");
smartzoneICR1.Licensing.SetSolutionKey(12345,12345,12345,12345);
VB.NET
smartzoneICR1.Licensing.SetSolutionName("YourSolutionName")
smartzoneICR1.Licensing.SetSolutionKey(12345,12345,12345,12345)
Changing to Manually Reported Runtime Licensing
In your SmartZone ICR 3 codebase, replace the UnlockRuntime method with calls to the SetSolutionName, SetSolutionKey, and SetOEMLicenseKey methods.
C#
smartzoneICR1.Licensing.SetSolutionName("YourSolutionName");
smartzoneICR1.Licensing.SetSolutionKey(12345,12345,12345,12345);
smartzoneICR1.Licensing.SetOEMLicenseKey("2.0.AStringForOEMLicensing…");
VB.NET
smartzoneICR1.Licensing.SetSolutionName("YourSolutionName")
smartzoneICR1.Licensing.SetSolutionKey(12345,12345,12345,12345)
smartzoneICR1.Licensing.SetOEMLicenseKey("2.0.AStringForOEMLicensing…")
There is no longer a separate method for web licensing. That functionality has been integrated into the SetOEMLicenseKey method.
If you encounter any porting issues, please contact Support for assistance.