================================================================================== Protection PLUS Build 4.5 This file was last updated May 1, 2008 Copyright 2008 by Concept Software, Inc. PO Box 770459 Winter Garden, FL 34777-0459 USA Voice (321) 221-1497 Fax (321) 234-9231 Internet-WWW http://www.softwarekey.com Internet-Email support@softwarekey.com For the most up to date contact information, please visit 'Contact Us' on our website. ================================================================================== This document contains release notes for Protection PLUS. Information in this document is more current than that in the manual or online Help. ------------------------------------ How to Use This Document ------------------------------------ To view README.TXT on screen in Windows Notepad, maximize the Notepad window. To print README.TXT, open it in Windows Write, Microsoft Word, or another word processor. Then select the entire document and format the text in 10-point Courier before printing. For the Instant PLUS changes, please view the Instant PLUS change log in the Instant PLUS installation folder. ----------------------------------------- Validation Code / Results - pp_libtest() ----------------------------------------- The validation code and result pairs used for the function pp_libtest() that are mentioned in the manual may be obtained by going to http://secure.softwarekey.com/solo/customers. Once you log in, select the product you ordered, and choose Download Now, the validation codes will be e-mailed to you automatically along with a customized version of LFEdit.LF. NOTE THAT THESE CODES ARE NOT REQUIRED IN ORDER TO USE PLUS! If you ordered your software through a reseller that supports Electronic Software Delivery, you will not be able to register immediately. When the reseller provides your order information, a customer ID will be added to the softwarekey.com site. Once this has been completed, your Validation Codes can then be retrieved. If the reseller provides your e-mail address, these codes are generally e-mailed out immediately. If you are in need of these codes, feel free to contact support@softwarekey.com with your order id provided by the reseller. ------------------------------------ FREE Newsletter and Upgrades ------------------------------------ Be sure that we have your e-mail address on file. We make periodic announcements of upgrades, new features, new tech notes on our web site. You can signup for Newsletters and Build Announcements at http://www.softwarekey.com/help/newsletter.asp You can view past NewsLetters and Build announcements at: http://www.softwarekey.com/help/newsletters/newsletters.asp There are also a couple lists with new build announcements, etc. at: http://www.softwarekey.com/online_support.asp. For all registered users under support/maintenance, you can download the latest version of PLUS. This can be done at http://secure.softwarekey.com/solo/customers/. Your customer number and password allow you access to the software download page. -------------------------------------- Protection PLUS Build 4.5 -------------------------------------- -------------------------------------- Build 4.5 General Enhancements and Fixes -------------------------------------- * New Instant PLUS DLL interface can be used with .NET applications. Anyone using EZTrial2 should consider switching to the Instant PLUS DLL interface for many new features. * Added new EZTrigger code 37 for Network Floating. This code combines trigger codes 28 and 33 into one step. * COMPNO_HDSERIAL algorithm now supports passing a drive letter of "1" to use the drive where the executable is located. This can be used to lock the application to most types of removable media, such as USB thumb drives. * SwkClientServices.dll is now strong named * Fixed a rare issue where the license file can be corrupted (becomes zero bytes) if the application is terminated abnormally while writing to the license file. * Updated the COMPNO_ENHNACED algorithm so the single ID changes less often. The single ID should only be used for telephone activations. * Updated the COMPNO_WINPRODID algorithm for Vista x64 support. -------------------------------------- Build 4.5 Keylib Enhancements and Fixes -------------------------------------- * Fixed an issue where offline activation (activation from another machine with Internet access) failed on 64bit Windows. -------------------------------------- Build 4.5 .NET Interface (SKCLNET) Enhancements -------------------------------------- * Added License Return functionality to the VB.NET EZT_ELM sample. * Added an LFClose method which updates the last used date and time and closes the license file -------------------------------------- Build 4.5 Documentation Updates -------------------------------------- * Quick Start now recommends using the Instant PLUS DLL in favor of EZTrial2 * Updated FAQ -------------------------------------- Instant PLUS 2.5 -------------------------------------- * Please refer to the release notes in the Instant PLUS installation folder -------------------------------------- Protection PLUS Build 4.4.1 -------------------------------------- -------------------------------------- Build 4.4.1 General Fixes -------------------------------------- * Replaced the DemoShield launcher with a new launcher program. * LFEdit now auto-generates Trigger Code Seed, RegKey2 Seed, and License File Password when creating a new product definition. * Updated samples to use the Enhanced Computer ID algorithms * Fixed the Enhanced Computer ID auto-upgrade logic in EZTrial to also auto-upgrade demo licenses. * Fixed bug in LFEdit where it saved the RegKey2 value as a negative number (this did not result in things failing to work proprely, but it was misleading). * Fixed bug in installer that occurred when trying to install to the Program Files directory in Windows Vista. * Removed Instant PLUS 1.0 from LFEdit * Updated installer sample options -------------------------------------- Build 4.4.1 Keylib Enhancements and Fixes -------------------------------------- * Added COMPNO_SERVER_MACADDR algorithm for network floating implementations (docmented in the pp_compno [legacy] topic). * pp_lfopen and pp_lfalias now supports using the scatter mechanism in more than just HKEY_LOCAL_MACHINE (:LM:). HKEY_CLASSES_ROOT (:CR:) and HKEY_CURRENT_USER (:CU:) now also supports scattering. * Fixed bug with pp_semopen where it would try to set permissions on a directory even when it did not have access to do so. * Fixed memory leak with the Enhanced Computer ID algorithms (this memory leak is very rarely encountered) * Fixed bug with pp_semopen which would cause Terminal Services sessions to end prematurely. -------------------------------------- Build 4.4.1 Documentation Updates -------------------------------------- * When Instant PLUS 2.1.0.20 or later is installed with Protection PLUS 4.4.1.0 or later, the Protection PLUS documentation now also contains the Instant PLUS documentation. * Updated manual graphics to show more accurate screen-shots, and more up-to-date diagrams, etc... * Updated Protection PLUS system requirements. * Added documentation for the .NET component's GetLicensedComputer and SetLicensedComputer methods, and updated the LicensedComputer property documentation to note that it only applies to the ActiveX component. * Added documentation for Network Broadcast functions (pp_netopen, pp_nettest, pp_netclose) * Added notes throughout the entire manual noting that the COMPNO_BIOS algorithm and its supporting files (MACHNM1.exe, MACHNM32.sys, MACHNM64.sys) have been deprecated. * Fixed documentation on pp_setvarchar, pp_getvarchar (DLL), SetVarChar, and GetVarChar (ActiveX/.NET) to show correct indexes for VAR_AUTOCL_URL_UNLOCK and VAR_AUTOCL_URL_REGISTER fields. * Fixed the browse sequence. * Fixed formatting for ActiveX/.NET documentation so the headers shared the same formatting across all topics. * Fixed the ActiveX/.NET documentation to show that EZTrial2 is now supported in these interfaces. * Fixed topic on upgrade logic/pseudo-code for the Enhanced Computer ID algorihtms, which had incorrect syntax for pp_copycheckth(). * Fixed graphics on Enhanced Computer ID documentation * Fixed broken links. * Fixed SK_PostRegData to show example code for that function instead of SK_PostEvalData. * Removed references to implementation via Marx CRYPTO-BOX hardware. * Removed references to ICVerify * Removed references to seperate editions of libraries (i.e. the old Enterprise and Internet libraries, which were previously seperate). * Removed documentation for Instant PLUS 1.0 (which has been removed from LFEdit) * Added documentation for new .NET samples -------------------------------------- Instant PLUS 2.1 -------------------------------------- * Please refer to the release notes in the Instant PLUS installation folder or the Start Menu -------------------------------------- Protection PLUS Build 4.4.0 -------------------------------------- -------------------------------------- Build 4.4.0 General Fixes -------------------------------------- * Added additional information to the Enhanced Computer ID alogirhtm documentation regarding vote weights and behavior. * Updated Enhanced Computer ID algorithms to use a Domain algorithm in place of the Dockable algorithm. * Fixed bug with pp_semused where zero was always returned. This bug was introduced when the performance enhancements to pp_semopen were made. * Signed versions of the Machnm32.sys and Machnm64.sys files are now distributed. * Various Enhanced Computer ID algorithm tweaks, most revolving around Windows Vista, upgrading Windows versions, and booting multiple versions of Windows on one computer. * New sample for Update Checking added. By default, this sample is located at: C:\SWKey\PLUS\Samples\WithSOLO\C#.NET2005\UpdateCheck * New EZT_ELM sample for VB.NET 2003 added. By default, this sample is located at: C:\SWKey\PLUS\Samples\WithSOLO\VB.NET\EZT_ELM * Removed old Automation Client VB.NET samples (these used Keylib instead of SKCLNET) * Fixed bug in LFEdit where no warning was shown when an attempt was made to save to a file/path in which the user does not have sufficient permissions. * Fixed minor bug in Tools->Options dialog in Vista where the window border of the dialog slightly overlapped the buttons at the bottom * Updated LFEdit to show widgets that match the Windows theme (this includes Radio buttons and checkboxes...) * Fixed LFEdit to show the Single Computer ID in the Authorized Computers tab when Enhanced Computer ID algorithms are being used. * Added support for enhanced Computer ID algorithms to SWKey\PLUS\LFRW.exe and SWKey\PLUS\Samples\WithoutSOLO\VB6\DLL\LFRW -------------------------------------- Build 4.4.0 .NET Interface (SKCLNET) Enhancements and Fixes -------------------------------------- * Fixed bug in EZTrial2 method, which could cause intermittent crashes. * Added a build of SKCLNET specifically for ASP.NET to the SWKey\PLUS\Samples\WithoutSOLO\ASP.NET directory. * Added EZTrial1 sample for ASP.NET (C# only), which includes a "PermissionsHelper" sample which shows how to write a small helper program to be run during the installation process to set up permissions on the license file and aliases. -------------------------------------- Build 4.4.0 ActiveX Interface (SKCL) Enhancements and Fixes -------------------------------------- * Fixed bug in EZTrial2 method, which could cause intermittent crashes. * Fixed bug where the ActiveX component complained when it was loaded in a designer. -------------------------------------- Protection PLUS Build 4.3.5 (4.4 Beta 1) -------------------------------------- -------------------------------------- Build 4.3.5 Keylib Enhancements and Fixes -------------------------------------- * New Enhanced Computer ID Algorthms added * Added code to dramatically speed up floating network licensing -------------------------------------- Build 4.3.5 .NET Interface (SKCLNET) Enhancements and Fixes -------------------------------------- * Supports Enhanced Computer ID Algorithms -------------------------------------- Build 4.3.5 ActiveX Interface (SKCL) Enhancements and Fixes -------------------------------------- * Supports Enhanced Computer ID Algorithms * EZTrial2 method added -------------------------------------- Build 4.3.5 Automation Client Enhancements -------------------------------------- * SK_PostStrings: Fixed bug if SOLO returned an error response, some memory could be freed twice and could cause issues. -------------------------------------- Instant PLUS 2.0 -------------------------------------- * Please refer to the release notes in the Instant PLUS installation folder or the Start Menu -------------------------------------- Protection PLUS Build 4.3.1 -------------------------------------- Fixed Protection PLUS Installer to remove "LFEdit.lf" needed error message. -------------------------------------- Instant PLUS 2.0 -------------------------------------- No changes at this time -------------------------------------- Build 4.3.1 Keylib Enhancements and Fixes -------------------------------------- Fixed problem when writting license file to Registry Keys not in HKEY_LOCAL_MACHINE. -------------------------------------- Build 4.3.1 .NET Interface (SKCLNET) Enhancements and Fixes -------------------------------------- Fixed problem with SKCLNET when multiple instances are in same thread. -------------------------------------- Build 4.3.1 ActiveX Interface (SKCL) Enhancements and Fixes -------------------------------------- No changes at this time. -------------------------------------- Build 4.3.1 Automation Client Enhancements -------------------------------------- Added SK_SECURE_CONNECTION for SSL Communications to SK_ConnectionState Added SK_SOCKETS_ONLY flag to only use WinSOCK in SK_ConnectionState Fixed Bug with SK_UpdateCheck memory leak -------------------------------------- Protection PLUS Build 4.3.0 -------------------------------------- We have reworked our versioning scheme, to better handle more internal builds. This will allow us to better keep track of new features and bug fixes. The official releases will be released under the 4.x build number, instead of 4.x.x.x. For example: the 4.3.0.2 release will be the official 4.3 release of Protection PLUS. -------------------------------------- Instant PLUS 2.0.98 -------------------------------------- Wrapped application can auto-add itself to the Windows XP Service Pack 2 Firewall exception list, if the user who runs the program has permissions to do such. VMWare, Virtual PC, Terminal Services, and Remote Desktop detection code added. Flag added for deactivate license that allows the license to retain the trial settings (days left). New trigger code 5 added: Activate and add a value to the license data field. Phone activations will now validate with SOLO if online and return an error code is the license ID if invalid or not OK. On the Update Settings Wizard Dialog a filed has been added to allow an update name different than the product name. Added Sockets Only flag which fixes issues with wrapped DLLs. Added support for jpeg splash screens. Phone activation text may now be entirely customized rather than just the phone number. Tweaked spacing of Version text on splash screen so it is not so close to the edges. Flag added under options to turn on or off the resetting of licenses after a wrap. Length of version displayed on splash may now be specified. Added option for sending the Product ID when activating which allows a user to activate with a license for a different product as long as the seeds are the same. By default IP2 will validate the license is for the same product. General tab added to options under the tool menu. Default License Password generated is now created from a unique GUID rather than being just "password". Added checkbox under tool\options\general to turn on or off the license deletion of a product after it has just been wrapped. Fix for ActiveX\COM Objects where activations would hang Added option on Wrapper Settings Wizard Dialog to allow Late-Binding to wrapped DLLs The above two fixes force the wrapper to use native sockets rather than WinInet as WinInet causes a code lock if executed from DLLMain. Length of version displayed on splash may now be specified Option to load the HTML help (displayed in the left pane of IP) from either the web or from the local install folder. If using SOLO you may now optionally send the Product ID during activations and online license validations (set on the Activation Options Wizard Dialog) General Options added under Tools\Options Menu License file password is initially created from GUID rather than having a default of "password" Fixed an issue causing some defaults to be set after config file loaded command line -noreset added to IPConsole so the licenses are not cleaned when a wrap is completed Fixed issue causing License ID edit box to not receive initial focus in the activation dialog of a wrapped application -------------------------------------- Build 4.3.0 Keylib Enhancements and Fixes -------------------------------------- **Changes to Keylib may also effect other libraries and LFEdit. Added PP_NETOPEN, PP_NETTEST, and PP_NETCLOSE to DLL/LIB for Network Broadcast Licensing. Added PP_SYSINFO to check the current system architecture: You can now detect and prevent your application from running on a VMWare virtual machine, a Virtual PC machine, or remotely through Terminal Services/ Remote Desktop client. Fixed issue if using Registry Key and string didn't conform to Registry Key syntax. Added error code in PP_COMPNO if COMPNO_BIOS64 is used on a non-x64 system. Updated PP_EZTRIAL2 (EZTrial2 in SKCLNET) so that the parameter is passed into SK_ProcEZTrig1 for online activations. Re-Added Late-Binding to IpHlpApi.dll for backwards compatibility with previous operating systems. Fixed problem with locating BIOS driver files (Machnm1.exe, Machnm32.sys, and Machnm64.sys). Added Extra checking to see if BIOS driver (Machnm32.sys/Machnm64.sys) was installed before attempted to obtain the BIOS algorithm. Added PP_LIBVERSION in DLL/LIB interface. Allows checking the version number of currently loaded library. Updated EZTrial2(Instant PLUS version 1.0) dialog box to change text from "Activate this software by phone" to "Activate this software manually". Updated read/write License File functionality to always keep the previous "Last Accessed" and "Last Modified" date/time of the physical file. Fixed problem where Windows XP File Cache was holding the file open during reboot or forcible program closure. This was causing problems where license file was becoming corrupt, or 0KB in size. Due to this fix, the write of the license file takes a second or two longer. Added LFALIAS_NOCACHE flag for PP_LFALIAS for compatibility with PP_LFOPEN's LFOPEN_NOCACHE flag. Fixed problem if the license file was marked as "Read-Only". -------------------------------------- Build 4.3.0 .NET Interface (SKCLNET) Enhancements and Fixes -------------------------------------- Updated NetSetup.msi (SKCLNET installer) to re-include previous VB.NET samples. Updated SKCLNET to fix LoaderLock issue in Visual Studio 2005. (Mircosoft bug with all versions of the .NET Framework.) Updated SKCLNET to have a LFPassword Maximum length of 1024 characters. Added checking to SKCLNET’s IsDemo property to fix a problem that occurs when the License File is blank. Now returns error 27 (ERR_EXPTYPE_INVALID) if Expiration type is blank. -------------------------------------- Build 4.3.0 ActiveX Interface (SKCL) Enhancements and Fixes -------------------------------------- Updated SKCL to have a LFPassword Maximum length of 1024 characters. -------------------------------------------- Build 4.3.0 Automation Client Enhancements -------------------------------------------- Added a Flag Global Flags for Ex functions and SK_ConnectionState to only use WinSock for communications (SK_SOCKETS_ONLY). Fixed issue in SK_GetLicenseStatusEX where function would return SKERR_NONE rather than SWKERR_INVALID_SERVER_RESPONSE. Added Flag for SK_UpdateCheck (SK_VERIFYDAYS) to have SOLO Server/Instant SOLO verify the "Download Expiration" date on the License ID before showing that there is an update available. Added checking to SK_FileDownload to see if file is present on the server. Added checking to SK_FileDownload to see if one of the following strings are present in the buffer returned as the file. "Invalid Data Entered!", "SWKEY Error Response = 100<", or "Error Response = X" (where "X" is a value greater than or equal to 100 defining an error). Added Error Code SWKERR_HTTP_FILENOTFOUND if file isn't present on the HTTP server. -------------------------------------- Build 4.3.0 LFEdit Enhancements and Fixes -------------------------------------- Fixed Painting issues with LFEdit, where dialog box wasn't being displayed properly. Fixed problem in LFEdit's License File Save dialog box. It is now populating the "File Attributes" properly from the Product Definition settings. Added extra checking to Trigger Code edit dialog box to see if the RegKey2Seed is within its limits. -------------------------------------- Protection PLUS Build 4.2.1.12 -------------------------------------- -------------------------------------- Instant PLUS 2.0.87 -------------------------------------- For the latest changes to Instant PLUS, please see the Instant PLUS ReleaseNotes.txt file. -------------------------------------- Build 4.2.1.12 Keylib Enhancements and fixes -------------------------------------- *Added COMPNO_BIOS64 computer algorithm for pp_compno(CPCompno). This now supports the use of Machnm64.sys on Windows 64-bit systems. If you use COMPNO_BIOS, it will automatically try to use this new System Service if running on 64-bit systems. *Added COMPNO64_BIOS flag for pp_compno32drivers to support loading/unloading/checking Machnm64.sys on 64-bit systems. *Revisited and fixed the 17000 days issue with EZTrial(pp_eztrial1/pp_eztrial2). *Added LFOpen flag LFOPEN_NOCACHE to make sure that the file is written directly to disk. *Fixed Lock/Unlock issue when writing to license file. *Added extra checking within LFUnlock (pp_lfunlock). *Fixed problem with EZTrial2(pp_eztrial2) when specifying your own Icon for the Demo dialog box. *Added support for License Files to be Windows Registry Keys under HKEY_CURRENT_USER and HKEY_CLASSES_ROOT -------------------------------------------- Build 4.2.1.12 Automation Client Enhancements -------------------------------------------- *Added 20 second timeout to the SK_FileDownload function. This was hanging if you specified the wrong Protocol with a valid Port. *Verified and updated SKCA.H file with the SK_Firewall function and flags. -------------------------------------- Protection PLUS Build 4.2.1.11 -------------------------------------- -------------------------------------- Build 4.2.1.11 Keylib Enhancements and fixes -------------------------------------- C/C++ requires link to Iphlpapi.lib when statically linking See Microsoft KB836769 -------------------------------------------- Build 4.2.1.11 Automation Client Enhancements -------------------------------------------- Updated the Visual Basic 6 SKCA32.bas file to reference strings ByVal from ByRef. -------------------------------------- Protection PLUS Build 4.2.1.10 -------------------------------------- New launcher added. We have created a launcher application to help new Protection PLUS users make a choice between the API and Instant PLUS. In addition, the launcher simplifies finding the different components of Protection PLUS such as the API, Documentation, or sample application. -------------------------------------- Instant PLUS 2.0.83 -------------------------------------- Protection PLUS now includes Instant PLUS 2. With Instant PLUS 2.0 you can: * Create Trial versions of your application that run for a number of days and/or executions * Create subscription based licensing for your application * Activate applications with three different methods - Online Activations (with Instant SOLO/SOLO Server) - Telephone/email activations - File based activation (with Instant SOLO/SOLO Server) * Lock the application to the computer * Periodically check the license status with the licensing server (with Instant SOLO/SOLO Server) * Automatically check for updates from within application (with Instant SOLO / SOLO Server) * Ability to register your customer’s information with our server or through a browser to a link you specify * Easily display a splash screen at startup from your bitmap or use our default splash screen * Detect Activation Key Generator programs * Seamlessly integrates with Instant SOLO/SOLO server * Integrated browser allows you to login into SOLO Server and manage your account * Automatically retrieve your product information from SOLO which keeps your application’s settings in sync with SOLO * Create new products in SOLO using an integrated wizard * No need for previous SoftwareKey products such as LFEdit Best of all, no source code changes are required! -------------------------------------- Build 4.2.1.10 Keylib Enhancements and fixes -------------------------------------- Now using Visual C++ 6.0 to compile static libraries. This will remove support for older versions of C/C++ libraries. Added flag "SUPPRESS_ERRORS" for pp_compno to suppress the Machnm1.exe error message boxes. This flag is passed in as an Algorithm in the first parameter. Updated pp_eztrial1 and pp_eztrial1test not to update the last used time if the "Update Last Used Time" flag is specified. (Previously updated last used time, but did not test it.) Added Trigger code 36 to EZTrigger. "De-Authorize All Computers". Deletes all computer ids from license file. Fixed icon problem on EZTrial2 dialog box, when license file had multiple periods in filename. (Ex: sample.lf.ini and sample.lf.bmp) SKCL.DLL and SKCLNET.DLL: Updated CPCheck to reference CPTolerance if COPY_STRICT flag not specified. Previously did not check CPTolerance. Fixed bug where .NET Component attempted to access license file when "Enable" property was False. Added checking to .NET component. It will not fire the "StatusChanged" event if no License File Name (LFName) is specified. -------------------------------------------- Build 4.2.1.10 Automation Client Enhancements -------------------------------------------- The Installer now installs all the samples, libraries, and the associated header to the /PLUS directory Now using Visual C++ 6.0 to compile static libraries. This will remove support for older versions of C/C++ libraries. Now distributing static library with Professional and Enterprise Editions. SK_ConnectionState now only returns 2 results: SWKERR_NONE and SWKERR_NO_CONNECTION Timeout now works properly with functions that the timeout is specified. Added error code SWKERR_CONNECTION_TIMEOUT. Updated SK_GetErrorStr return 8 to "INVALID SERVER RESPONSE", to match manual. Updated SK_ProcEZTrig1 to use the following URL if URL for Activation is blank: "secure.softwarekey.com\solo\unlock\getcode.asp" Removed requirement of linking to winmm.lib with static library. Fixed issue with callback function with SK_FileDownload Added functionality to change mouse cursor to an hourglass during connection attempts with SK_GetTCDataDlg and SK_ProcEZTrig1 Added functionality to use "http://" and "https://" on Server parameters on all functions. Updated SK_GetTCDataDlg to properly use SSL connection if SWK_SECURE_CONNECTION is used. Added functionality to SK_GetLicenseStatusEX, SK_GetRegDataEX, SK_GetTCDataEX, SK_GetTCDataDlg, SK_PostCounterEX, SK_PostEvalDataEX, and SK_PostStringEX to specify port using syntax: "http://secure.softwarekey.com:123/solo/unlock/getcode.asp" (Servername:Port for parameter in the associated functions.) Updated default port if SK_SECURE_CONNECTION is used on functions SK_GetLicenseStatusEx, SK_PostEvalDataEx, and SK_PostStringEx. Fixed bug with SK_GetLicenseStatusEX so that if WinINET connection returns a valid Error Response from server, it will not fall back down to WinSOCK. Added function SK_Firewall to help with Microsoft's Firewall built into Windows XP Service Pack 2 and Windows 2003 Service Pack 1. -------------------------------------- Protection PLUS Build 4.2.1.9 -------------------------------------- -------------------------------------- Build 4.2.1.9 Keylib Enhancements and fixes -------------------------------------- Fixed problem with Machnm1.exe running on Windows 9x platforms Fixed problem with Domain Lookup on user permissions Fixed problem with permissions not being set on a registry key based license file -------------------------------------------- Build 4.2.1.9 Automation Client Enhancements -------------------------------------------- None -------------------------------------- Protection PLUS Build 4.2.1.8 -------------------------------------- -------------------------------------- Build 4.2.1.8 Keylib Enhancements and fixes -------------------------------------- Fixed problem with Windows XP Service Pack 2 where the date of the license file is invalid. Added extra checking to prevent corruption of the license file. Updated EZTrial2 dialog box from "Trial Days Left:X" to "Days Until Program Expires:X" if the license is in Periodic mode. Added 5 second pause in EZTrial1Dlg, if an invalid activation code was entered. Added more checking for User Rights to the license file. Fixed pp_lfalias/LFAlias problem on Windows 98. Added recovery code if Machnm1.exe was not successfully closed during previous execution. Fixed problem with LF_ALIAS_SCATTER flag. Changed define for LFALIAS_SCATTER to 16, for Visual Fox Pro problem. Test for old flag value for backwards compatibility. Modified the communication with the Machnm1.exe driver for better error handling. -------------------------------------------- Build 4.2.1.8 Automation Client Enhancements -------------------------------------------- Can now use http:// and https:// on URLs for the server name on all functions. Fixed problem with SWKERR_SERVER_DOWN always returning when the name of a product contained "download". Fixed problem when slower connections would receive Error 8. Added Checking in SK_ProcEZTrig1 to verify binding flags before creating Software Binding Aliases. Fixed problem with Demo AutoCL when not going to ".softwarekey.com" or "swk". Now returns proper error code. Fixed issue where only the first packet would be received or sent when the data was large. -------------------------------------- Protection PLUS Build 4.2.1.7 -------------------------------------- -------------------------------------- Build 4.2.1.7 Keylib Enhancements and fixes -------------------------------------- Fixed pp_compno to allow for multiple calls to get the BIOS number with Machnm1.exe. Fixed pp_compno when using the COMPNO_BIOS32 flag. Now returns negative numbers for descriptive error codes. SKCLNET component now has no dependencies on the runtime libraries. -------------------------------------------- Build 4.2.1.7 Automation Client Enhancements -------------------------------------------- Fixed SK_PostEvalData to handle longer wait times before server response. This fixes the issue where the client did not receive the full response from the server. Fixed issue where SK_ConnectionState caused an error when called from a FoxPro app. -------------------------------------- Protection PLUS Build 4.2.1.6 -------------------------------------- -------------------------------------- Build 4.2.1.6 Keylib Enhancements and fixes -------------------------------------- New functions pp_exportactfile() and pp_importactfile(). These functions provide an alternative to phone and online activation by using a file activation system tied to Instant SOLO. New driver support for Machm32.sys, which will replace Machnm1.exe to get the bios algorithm under NT Based Operating Systems (Windows NT 4+, Windows 2000, Windows XP, Windows 2003, etc.). (This is not supported or tested under anything older than Windows NT 4.) New function pp_compno32drivers() to check, install, and uninstall the new Machnm32.sys driver. Will only work with Windows NT Based Operating Systems. Fixed problem with 16-bit NetNum code causing occasional crashes. License File password maximum length increased to 1024 characters. EZTrig1Dlg will close the dialog after 3 unsuccessful attempts. Changed some internal code to allow full Microsoft XP compatibility. No functionality has been modified in order to achieve this. Changed some internal DLL calls to late binding so the libs are not needed when compiling. Fixed bug in .NET component where date was returned in reverse order to some methods. Fixed bug in .NET Redir method where incorrect value could be returned. Fixed problem with .NET class occasionally not instantiating. Fixed bug in .NET Password method that caused the same number to be returned every time. -------------------------------------------- Build 4.2.1.6 Automation Client Enhancements -------------------------------------------- New functions added: SK_UpdateCheck() allows you application to check for updates with SOLO. SK_FileDownload() will download files from HTTP and FTP. SK_Parse () utility function to parse strings (useful with SK_UpdateCheck(). Major change to Sockets code in order to maintain compatibility with IIS6 and Windows Server 2003. This problem may occur in older versions of the library previous to 4.2.1.3 SK_PostRegData() was not sending the postal code - this is fixed. Fixed memory leak in SK_PostStrings function. -------------------------------------- Protection PLUS Build 4.2.1.5 -------------------------------------- ------------------------------------------- Build 4.2.1.5 Keylib Enhancements and fixes ------------------------------------------- New "scatter" flag added to pp_lfalias function making it more difficult to detect locations of registry aliases (see description of pp_lfalias in manual). Permissions on file based license files are automatically set to EVERYONE\Full Control when an admin or power user runs the application. Previously license file permissions were only changed when the LF_CREATE_MISSING flag in pp_lfopen was set. Machnm1.exe startup code has been changed to alleviate some startup problems on XP and 2000. Added code to ignore loopback adapter for NT. EZTrial2 and Instant PLUS(tm) now support DPI settings of 96 and 128. Moved code to set permissions on the license files and aliases to the pp_lfopen function. This allows permissions to be set when explicitly creating license files in the registry and still functions normally with aliases. Fixed bug in EZTrial2 which caused a custom bitmap to occasionally fail to load. Fixed bug in MAC_ADDR algorithm which occasionally returned 0 on NT\2000\XP machines. ActiveX component does not automatically check semaphore files when using EZTrial. You must use the Sem* methods when implementing network licensing. ActiveX control BSTR conversion code altered to fix problem with Unicode characters. ActiveX control now supports 3 letter system date formats. Slight memory leak fixed in IsDemo function. System File Alias name generation code altered in LFEdit to ensure name does not match any previously created name in the product.pd file. Fixed problem with MS Scheduler occasionally interfering with pp_redir function. -------------------------------------------- Build 4.2.1.5 Automation Client Enhancements -------------------------------------------- Implemented code to allow automatic communication through proxy servers! This is only available on machines with Internet Explorer 3 or higher. Added SK_ConnectionState() function to detect if an internet connection is available. Added flag to SK_GetTCDataDlg() and SK_ProcEZTrig1() to hide the proxy button. This is in case a call to SK_ConnectionState() is successful. You can call the these functions without showing the proxy button so there is no confusion. Implemented Secure Sockets Layer communication (requires Internet Explorer 4.0 and higher. This is implemented through the flags parameter of the functions. Some functions did not implement a flags parameter and in these cases an Ex version of the function was created. Added error code if successful connection is made to SOLO server but the database is unavailable due to maintenance, down, or offline. PostRegData function added to library to allow registration data to be posted to SOLO from the application. -------------------------------------- Release Notes - New in Release 4.1.1.5 -------------------------------------- Refer to the online documentation for a list of changes and new features from Version 3.0 and 4.0x. ------------------------------------ Release Notes - New in Release 4.2.1 ------------------------------------ IMPORTANT NOTE: The KEYLBI16.DLL, KEYLBI32.DLL, and SKEYLN.LIB libraries are no longer distributed with Protection PLUS. These libraries were distributed with the Internet Edition of Protection PLUS and contained the ability to manage web-based License Files. With the introduction of the Automation Client included with PLUS Internet Edition, web-based License Files were no longer necessary. The libraries were removed from the product to avoid customer confusion. The PLUS installation routine will NOT remove this file from your computer in case your application is erroneously using it. HOWEVER, SINCE THESE LIBRARIES ARE NO LONGER INCLUDED, YOUR LIBRARY VERSIONS WILL NOT BE UPDATED. Be sure your applications are using KEYLIBxx.DLL. ----------------------------------- Build 4.2.1 New Features ----------------------------------- NEW - Instant PLUS(tm) allows you to add the most common features of Protection PLUS™ into your application without source code modifications. Instant PLUS injects code into your existing .EXE, .SCR, .DLL or .OCX files to protect against decompilers, or other hacking tools that are used to discover information about your application. In addition to the security features, trial features can be added to your application seamlessly. * Protect executables from being modified by any means in order to change their functionality. * Check executables for integrity at startup. * Compress executables. * Provide simple licensing and online ordering/unlocking features. * Protect process space, which holds a protected executable, from being dumped by process dumping tools * Protect an executable from being disassembled and analyzed by debuggers * Protect process space, which holds an protected executable, from being modified * Protect an executable from being patched on disc * Protect code, data, and resources stored in an executable from being analyzed and modified by hex editors * Protect a program compiled in an executable from being restored by decompilers NEW - Native Protection PLUS .NET Component. Allows seamless integration of Protection PLUS into your .NET application. Includes sample applications in VB.NET and C#. The samples for VB5 have been updated to VB6, VC5 have been updated to VC6, Delphi_4 have been updated to Delphi_5. --------------------------------------- Build 4.2.1 Keylib Other Enhancements --------------------------------------- Only the 32-bit libraries were updated to 4.2.1. EZTrial2 Demo Screen Redesigned. Now has a more graphical design with radio buttons and allows the use of your company logo in the dialog. Instant PLUS dialog now allows the developer to choose the compression algorithm used or no compression if desired. We have found that a few applications are not compatible with certain compression algorithms. PP_Compno() function using the BIOS algorithm has been tweaked to alleviate problems communicating with machnm1.exe on Windows NT and 2000. When using EZ Trial or EZ Trigger with the static library, it is no longer necessary to modify the resources in your application. EZ Trigger dialog box now lists User Code 1 and 2 as locked text boxes to allow the customer to copy and paste the numbers into an e-mail message, etc. Previously they were listed as labels which could not be copied and pasted. Updated dependency files to remove system DLLs that should not be distributed with application. When License File Aliases are opened, the Windows NT/2000/XP permissions are now automatically set so allow everyone to write to them. In previous versions, an Administrator or Power User would have to install the product, but if a restricted user ran the application, the aliases would not be updated since they did not have the proper write permissions. This does not cause any errors. However, in the latest version, because the permissions are relaxed, all users will be able to update the aliases. This applies to both the registry and file-based aliases. Added code to the PP_LFOpen() function to allow the permissions on the file or registry to be changed to EVERYONE when logged in as admin or power user. Previously this was only available with the PP_LFAlias() function. Skips the Loopback MAC Address if present when using the MACADDR algorithm. Using pp_lfopen() with flag LFALIAS_CREATE_MISSING set the alias file is updated from the master license file during the creation. Fixed problem with EZTrigger returning ERR_SLOT_ALREADY_ASSIGNED for codes 27 - 31. -------------------------------------------- Build 4.2.1 Automation Client Enhancements -------------------------------------------- Demo version will append ".softwarekey.com" to server string for all SK functions. If server field is null in SK function calls it is replaced with www.softwarekey.com. VB.NET, VC6, and Delphi5 samples added. VB5 samples updated to VB6. ----------------------------------- Release Notes - New in Release 4.1 ----------------------------------- There are no changes to the online documentation. Refer to the online documentation for a list of changes and new features from Version 3.0 and 4.0x. ----------------------------------- Build 4.109b ----------------------------------- Added KEYLIB32.DEP and SKCL.DEP for better compatibility with the Microsoft Setup Wizard application. Removed custom property pages from ActiveX interface. This allows for better compatibility on the original release of Windows 95 and also reduces confusion for new users. Resource IDs for built in dialog boxes were changed to prevent conflicts with Automation Client. Customers using the Visual C++ static library and one of the library functions that displays a dialog box MUST update the resource IDs in their project's resource.h file as listed under the function description in the online manual for the function(s) they are using. In DLL/LIB interface, added the function pp_gotourl() to launch default browser to specified URL. pp_eztrial1() now supports two new return codes - 6 and 7 for support with periodic expiration mode and network floating licensing. Refer to documentation for the usage. Minor enhancements and fixes to sample applications. Moved online documentation to \SWKey and registered help file and TOC within Windows registry so all Protection PLUS applications can find the help file. Significant enhancements to online and printed documentation. LFEdit now properly removes EZ Trial aliases on all versions of Windows NT/2000 when a License File is saved. DLLs no longer compressed with Shrinker (commercial compression utility). Some Windows NT / 2000 machines were not able to load the compressed DLLs. Shrinker was replaced with another compression product. pp_compno() now supports new algorithm COMPNO_IPADDR to return a number based upon the IP address of the server given either drive letter, UNC path or server name. Refer to online documentation for usage. A demo version of the Automation Client is installed to evaluate Instant SOLO(sm). ----------------------------------- Build 4.109a ----------------------------------- Fixed bug in COMPNO_MACADDR algorithm. Fixed a resource leak in pp_lfopen() if the registry key did not exist and LF_CREATE_MISSING was used. EZTrig1 will now allow Delayed Trigger Codes when the user clicks the OK button but leaves the Reg Key 1 field blank. Previously, the user would have to click the Cancel button as the only way to save User Code 1. Added prototype for EZTrial2. This new function allows a developer to call one function to handle all licensing and online ordering. If you are developing a new application and want information on trying EZTrial2, contact support@softwarekey.com. ----------------------------------- Build 4.109 ----------------------------------- Further enhanced the COMPNO_WINPRODID algorithm to work under more computer configurations. Enhanced the communication between KEYLIB32 and MACHNM1.EXE. The communication was at times stressed on Windows 2000 machines. These enhancements virtually eliminates all known problems related to MACHNM1.EXE. ----------------------------------- Build 4.108 ----------------------------------- Fixed a problem in COMPNO_WINPRODID that caused 2147483647 to be returned on some Win98 machines. Added License File fields LICENSEID, CUSTOMERID, LICENSEPW for electronic licensing automation applications. The EZ Trigger processing can now return ERR_INVALID_REGKEY2_ENTERED [70] when the user enters an invalid REGKEY2 value (Trigger Code Event Data). Previously, the event data was set to -1 and no error condition occurred. Further enhanced EZ Trial processing to restart logic when a newer License File Alias is found with a different set of license data. LFEdit IMPORTANT NOTE: If you are installing this build of Protection PLUS on top of a previous build, you MUST use the LFEdit.LF file that was sent to you via e-mail. If you neglect this, LFEdit will complain about your LFEdit.LF file being out of date. IMPORTANT NOTE: The EZ Trial Parameters tab was moved from the License File window to the Product Definition window. Now the EZ Trial parameters can be set once and forgotten. All License Files created will automatically be programmed with the EZ Trial parameters stored in the Product Definition. The Tools / Options dialog now has an option to update the last used date and time fields upon save. For most applications, this should be enabled. This helps cause new License Files to overwrite any existing License File Aliases. An Automation Client tab was added to the Product Definition for electronic licensing automation applications. Minor enhancements to Most Recently Used (MRU) list. Default Hard Expiration Date for new License Files is 12/31/2050 (the date furthest in the future). Corrected wrong constant values used in certain EZ Trial Hardware Binding parameters tab. ActiveX Interface Added property Enabled and methods ClearPendingStatusChange and ForceStatusChanged to help control the StatusChanged event. These help with implementations that use the LFAlias method. Refer to the AdvLic sample and online help for more information. Minor changes to Property Page implementation to better support Visual C++. Now processes EZ Trigger algorithm if TCode method is called and UseEZTrigger is set to True. DLL / LIB Interface Added the function pp_semtest() to verify the Network Semaphore File is still locked (prevents Network Administrators from manually closing network resource to gain additional users). Sample Code Added new ActiveX samples for Microsoft Access 97 and 2000. New and updated DLL/LIB samples for Visual C++ 5 or later. Updated VB5 and Delphi sample code. Updated include files (PPP4.PAS, PPP4.BAS, KEYLIB.H with new errors, function(s), and License File variable names). Documentation Enhanced manual from user feedback. Added some missing sections. New printed manual available that matches this help file. Other Changes Directory \SWKey\PPP4 renamed to \SWKey\PLUS. Protection PLUS is now abbreviated PLUS instead of PPP. Help file is now installed into \WINDOWS\HELP to enable context sensitive help for ActiveX interface. ----------------------------------- Build 4.107 ----------------------------------- Enhanced COMPNO_MACADDR algorithm. Under rare circumstances, an active dial-up connection would cause this algorithm to change values. Decreased the average time pp_semopen() takes to lock a license in large network configurations where many licensed users are active. DLL Import libraries now compatible with Visual C++ 5.0. Re-installing a previously unlocked EZ Trial application now runs in unlocked mode properly at first execution that aliases are restored. In rare occurrences on previous builds, the application would have to be run twice to properly restore the license. The function pp_semclose() now deletes the semaphore file after closing it. Online manual (help file) has been enhanced and now uses secondary windows to display information without leaving the context of the current topic. This makes looking up definitions and functions and learning the product easier. A quick reference section was added to list short descriptions of all Protection PLUS concepts in one topic. LFEdit can now display the aliases used by EZ Trial under Product Definition. The Most Recently Used (MRU) list now works properly in LFEdit. Minor other cosmetic changes in LFEdit. Sample code for various languages updated. Delphi sample code for ActiveX interface added. Directory \SWKey\PPP4 renamed to \SWKey\PLUS. Protection PLUS is now abbreviated PLUS instead of PPP. ----------------------------------- Third-party Consultants for Hire ----------------------------------- The following is a list of third-party consultants who are available for PLUS and non-PLUS related issues. Contact the consultants about rates as they may vary. David O'Neil ------------ company: O'Neil Computer Consulting e-mail: David@ONeilComputing.com languages: Visual DBase 5.7 and 7.0 using DLL/LIB interface Peter Jackson ----------------- e-mail: pjackson@nsw.bigpond.net.au languages: Toolbook Robin McDermott ----------------- e-mail: robinm@reseng.com languages: Toolbook W. Scott Morgan ----------------- e-mail: smorgan@perfectdesign.com Languages: Borland Delphi, Borland C++ Builder, InstallShield