Last Updated: 08/20/2008 =============================================================================== PeerLock, Version 2.0 =============================================================================== To upgrade, double-click on the installation file (plk20.exe) in the Explorer window, or choose "Run" from the Start Menu and then select the application. If you are upgrading the current version of PeerLock (2.0.2 to 2.0.3) simply install the application over your existing PeerLock and the previous version will be backed up in a sub-folder called 'BACKUP' (if the option to keep a backup is selected during the installation). If you are evaluating a new version of PeerLock 2.0 and you already have an existing copy of PeerLock 1.0 or older, please select a new directory during the installation. =============================================================================== Note: For more information on the latest features and how to implement specific scenarios please go to: http://www.peersoftware.com/support/peerlock.aspx =============================================================================== =============================================================================== 2.0.3 PeerLock - 08/20/2008 =============================================================================== Enhancements/Improvements/Changes - Fixed an issue where PeerLock Source Lock files would become orphaned, either because PeerLock was abruptly terminated or DFS-R would replicate the lock files to the target folder(s). An orphaned Source Lock file may cause PeerLock running on the machine of the orphaned lock file to try and lock the corresponding base file on its target selections if another PeerLock already had the file locked. In this scenario, PeerLock would then report a "Could Not Lock File" error message and delete the orphaned Source Lock file. - Fixed an issue where an opened file was detected, locked and then later closed, but quickly deleted before PeerLock had a chance to begin releasing the target files. In this scenario, the target files would remain locked until PeerLock was terminated. Also, the corresponding lock files where not removed during this scenario. - Fixed an issue when using Local Detection where Source Lock files were not being created and/or deleted properly during the locking process. - Fixed an issue where the "PeerLock Application" failed to show when selecting "Show PeerLock" from the "Tray Icon" when the application was started in a minimized state. - Fixed an issue where the "PeerLock About Screen" failed to show when selecting "About PeerLock" from the "Tray Icon" when the application was started in a minimized state. - Fixed an issue where selecting the "Close Message Display" menu item from the "Messages" dialog would not allow you to reopen or redisplay the "Messages" dialog from the PeerLock application until another message was reported. - Added the reporting of the creation and deletion of Source Lock files. - Improved initialization of PeerLock to only load necessary libraries and/or drivers when needed. =============================================================================== 2.0.2 PeerLock - 07/09/2008 =============================================================================== Enhancements/Improvements/Changes - By default PeerLock would suppress duplicate messages (that are tracked in the message dialog) from being written to the log file. Under certain circumstances this would prevent failure messages from being logged. By default PeerLock will no longer suppress duplicate messages however if this feature needs to be re-enabled, it can be done by doing the following: - Open the PSDef.cfg file using Notepad (C:\Program Files\PeerLock) - Scroll to the [Options] section - Set the following entry equal to one (1): SkipDuplicateMessages=1 - Resolved an issue where PeerLock would occasionally leave handles on Target PSLOCK and/or base files. PeerLock might report a 'Failed to release file' error and would delete the lock entry from the lock list possibly leaving handles open to the base Target file and/or it's corresponding lock file. Now, if this error occurs the entry will be left in the lock list and retried on the next release cycle. This could have been caused during a very brief connection loss at the time PeerLock is trying to release a handle on a target file. We also improved reporting to include the name of the file that could not be released. - Fixed an issue where upon restart of the application PeerLock would fail to re-lock all the opened files. The issue would occur only when PeerLock was configured with multiple Jobs/paths. When PeerLock was stopped and restarted it would re-lock only some of the files, usually those that were opened from the last Job/path from the list. - Resolved an issue where under certain circumstances PeerLock would fail to reset the source file time stamp. This issue occurred more often when going to multiple targets. When interacting with PeerSync this issue would cause PeerSync to fail to update some target files and PeerLock to throw the following error: "Could Not Set File Time" As part of the PeerLock and PeerSync interaction process, reapplying the source file time stamp is crucial in ensuring that after the source file has been closed by a user/process PeerSync will begin replicating it. PeerLock would need to reset the source file time stamp after it has released all the target files in order to trigger PeerSync to begin replicating the source file. In one circumstance PeerSync might not have received a trigger to begin replicating a file. In another scenario PeerSync would be triggered too early and would not wait for PeerLock to release all the target files before beginning replication. Once PeerLock did completely release the target files, it would try to reset the source file time stamp and fail since PeerSync already got a handle to the file. Ultimately, in both scenarios PeerSync would fail to update some target files. As part of a solution for this issue PeerLock will now be creating a new pslock file in the source directory (i.e. File.doc{COMPUTER_SL_USER}.pslock). PeerLock will also protect the source file from write access until all the target files have been released by PeerLock. Overall we have improved the interaction between PeerSync and PeerLock and tightened the protection of files during various stages of the locking and releasing phase. - The PeerLock service would fail to be installed on certain systems, typically on systems that are not part of a domain. This failure would occur because PeerLock attempts to create the service using the current domain and user name information. To resolve this issue we have added a new option that will bypass the domain and user name information during the creation of the service. This can be done by doing the following: - Open the PSDef.cfg file using Notepad (C:\Program Files\PeerLock) - Scroll to the [Options] section - Set the following entry equal to zero (0): Use Domain Info For Service=0 - Resolved an issue where PeerLock would freeze at start up if the Cache File was set to be Cleared at Start and contained invalid or inaccessible files. PeerLock will now report the failure and rename the cache file. - Resolved an issue where PeerLock would prematurely throw "Could Not Delete PSLock File" error messages. We now have extra logic to make sure the file exists, and if it does not exist to suppress the failure. In most cases the handle that prevented the file from being deleted has been removed or the file might have already been deleted. - Resolved a problem where PeerLock would not lock some or all opened files on a Vista or Windows 2008 Server. - Fixed an issue where PeerLock re-enabled the "Detect Files when Target Does Not Exist (Create Target Stub File)" option each time the PeerLock service was stopped. - Fixed an issue where Source file handles would not be released if one of the target files would no longer be accessible (i.e. due to connection failure). This would occur when going from one source to multiple targets. Once a source file has been closed PeerLock would begin to release the target files. During the duration of this process PeerLock would lock the source file. Once all the target files are released PeerLock would remove the lock handle from the source file. This behavior would cause PeerLock to fail to release the source file handle if all the target files get release except for one (perhaps because the connection has been lost). The only way to sever the handle would be to terminate PeerLock. - Resolved an issue where a manual release of a specific target file (from the PeerLock interface) would cause the release of all associated target files for that source. - Resolved a reporting issue where the "File May have been released..." message would be reported multiple times for the same file during connection failures. New Default Settings - The failed connection retry cycle value (i.e. "Retry Failed Connection Frequency") has been changed from 10 minutes to 5 minutes. Observer Interaction - Resolved a problem where the PSDef.CFG file would not retain all the EnabledActivityComputers values. If the EnabledActivityComputers entry in the CFG file has more then one entry, opening and closing the PeerLock application will cause all the entries to be removed except for the first one. =============================================================================== 2.0.1 PeerLock - 05/09/2008 =============================================================================== New Features - The PeerLock installation and executable will now require administrative privileges to run on Windows Vista and Server 2008. When a standard user tries to install or start PeerLock they will be prompted for administrative authorization or approval. - Enhanced the PeerLock lock file (PSLOCK) to contain the name(s) of the user(s) who opened a file. Previously we stored the user account name under which PeerLock was running. Since PeerLock knows the name of the user who opened a file from the Windows Open File list we now use that information and store it into the lock file. This can help administrators know the actual names of the users who opened files by simply looking at the corresponding PSLOCK files. - Added new enhancement where PeerLock now gets the target modified time at close of the target handle and if different from the source modified time it will trigger an update if applicable. The target file time gets checked only if necessary. By default this option is enabled (1) and can be turned off (0) via the configuration file (PLDEF.CFG) only: Example: [Options] Trigger Event on Source-Target Difference in Modified Time=1 Note: If the option for "Trigger Event on Non-Updated Files" is enabled PeerLock will not check the target file time because all the files will get an update trigger. Performance Improvements - Improved PeerLock high usage of CPU by modifying the main thread sleep values - Increased performance and decreased CPU usage by optimizing the scanning of the Windows Opened Files list. PeerLock now requests the list of opened files based on the unique source path instead of getting a complete list and filtering it later. This will increase performance (speed of lock and release cycles) while decreasing CPU utilization on active machines (machines with lots of open files) especially if the files are outside the watch scope of PeerLock. This ability is associated with the following configuration option and can be used to revert back to the previous scan method (located in the PSDef.cfg file): [Options] Filter Open Files By Source Paths=1 1 = Uses the new method of filtered opened files list request (Default) 0 = Uses the previous method of requesting the entire opened files list and filtering it later based on the Job Interface - Improved the ability to resize the top and bottom PeerLock panels by moving the splitter up or down. - Added the ability to clear the list of Released files via a right-click pop-up menu Reporting - Improved reporting during failures to now display the last error message that was thrown by Windows - Fixed an issue where reporting of "Could not create PS Lock File" was errantly reported as "Could not create Stub File" - Resolved an issue where the PeerLock log file content got stored in a form that could not be understood. Opening the log file in WordPad would display the content in a legible form. Other Miscellaneous Enhancements/Improvements/Changes - Enhanced PeerLock to look for and remove *.pslock.~pstmp files when it is removing *.pslock files. The *.pslock.~pstmp files are created when PeerLock attempts to delete *.pslock files so that the delete will not trigger an event in PeerLock or PeerSync. If these files get left behind, perhaps because PeerLock is abruptly terminated, they will get cleaned up the next time PeerLock starts up or attempts to re-lock the file. - Improved behavior where PeerLock fails to re-lock a file if the handle type has changed. It will now retry up to five times (by default) and then log an error entry if it still cannot re-lock it. - Fixed an issue where PeerLock would fail to lock files that had long paths. In this scenario, the PS Lock file would get created but the base file could not be locked. - Addressed an issue where the Auto Start (/A) option would be automatically enabled when the PeerLock Service was started. This would cause PeerLock to auto start when the application would be manually launched. - Resolved an issue where PeerLock would not trigger PeerSync to update target files that were stub files. In particular, this issue would occur when there were more then two hosts in a collaboration session where some targets had stub files. This was due to the limitation in the logic that looked at the last target file to trigger an update. If the last target file did not need updating, the other files in the session would also not be updated. New Default Settings - Changed the default "Idle Period" value from 5 to 3 seconds - Set the "Use Non Read Write Detection" default option to 0 (False) in order to avoid oscillation of PeerLock events. This option can be found in the PLDEF.CFG file and is used to indicate whether PeerLock should detect and lock files that have been opened with non read and write attributes. - Added a new option in the CFG file: Ignore Read Write Source File Access This setting will ignore files that can be opened for read and write by default, meaning that they are not truly be locked. Currently this option can only be enabled or disabled via the /DW[+-] command switch or by manually setting it in the CFG file (0 = OFF, 1 = ON, 1 is the default). Example: Ignore Read Write Source File Access=1 or /DW+ - The "Detect Files when Target Does Not Exist (Create Target Stub File)" option is now disabled by default if PeerSync is not installed. This setting is not recommended when using DFS Replication (or FRS). This change has been implemented to eliminate any conflicts/issues that may occur if PeerLock is running in conjunction with DFS Replication (or FRS). - By default the PeerLock service will now be installed under the current domain and user instead of the Local System Account. New command Line arguments - /DW[+-] - Ignore Read Write Source File Access The DW switch allows for the new "Ignore Read Write Source File Access" option in the CFG file to be enabled or disabled. Example: /DW- disables this feature =============================================================================== 2.0.0 PeerLock - 09/21/2007 =============================================================================== New Features - Folder Selections - Network Logon Settings: This feature will allow for the connecting to source and Target Folders across different domains or on machines and/or devices that require a different account then the one you are running PeerLock under. - Folder Selections - Exceptions: This feature has been added to the interface to allow for customization of what files/folder to include at the Job level. - Detection Option - Detect Files when Target Does Not Exist (Create Target Stub File): This feature will prevent files from being added to the target while it?s corresponding Source File is open. - Detection Options - Dual Detection: Added the ability to use both Local and File Server Mode Detection for complete locking on machines that may have files opened both locally on that machine and from other machines connecting to the machine over the network. Note: It is not recommended using Local Detection on a server or any other machine acting as a server unless files are actually opened on that machine by a local user. - Lock Options - Allow Access based on Source File: This feature adds the ability to Lock Target Files with the same access based on the Source File. When using this feature files on the source and their corresponding target will be accessible by other users in the same manner: i.e. you cannot open the file, you can open the file for read access or you can open the file for read and write access. This is an important feature for applications that open some files for read and write access and other related files for read access, as well as, applications that just open Source Files for read access that not to be read on the target side. Note: When using this feature, if the type of source lock is modified by the application maintaining the lock, PeerLock will reassign the new type of Lock to the Target File without releasing the file from the Locked List. Also, if there are multiple locks on the file PeerLock will merge or combine the lock type permissions together to use one complete lock to apply to the corresponding Target Files. - Release Options - Idle Time: This feature will allow for the setting of a period of time to wait before releasing files. The feature is intended to protect the releasing of files during file opens and saves. Certain applications may temporary release files during these procedures. With this feature enabled PeerLock will wait the set period of time to make sure the file is fully released before unlocking the corresponding Target Files. - Display - Interface - Idle Period Display: The item line in the Locked List will turn to yellow while in an idle period until the time expires and the corresponding Target Files are released. At that moment files are added to the Release List. - Display - Release List: This new feature will store out recently released files and all information pertaining to the locking and releasing of those files including why the file was released (i.e. Manually, Locking Stopped, PeerLock Stopped or the Source File was released). - Release Options - Trigger Events: Improved this feature to be more intuitive and have introduced a new feature "Include files that have not been updated (Source Modified Time has not changed)" that will allow for triggering of files that may have been open and not updated. This feature may be useful for files that only their attributes and/or permissions have changed. - Internal File Management - Cache Management: These features have been added to track and remove temporary files used by PeerLock. There are options to enable the caching, clear the cache at the start of locking and to clear the cache manually on demand. - Retry Failed Connections - PeerLock will now store failed connections and retry them on a ten minute cycle. This should improve overall performance when connection losses occur. This setting can be modified via the configuration file or command line arguments: See Command Line Arguments for more information. - Reporting - More extensive reporting showing all known information at the time of an event is now logged in a tab delimited fashion with column headers for the start and stop of a PeerLock locking session. This allows for easy import into a spread sheet. Performance Improvements - Improved performance of Locking and Releasing Files: Files are locked and released in milliseconds instead of approximately one second per file. - Separated the Locking and Releasing cycles to allow for the ability to set the priority of each procedure. - Improved interface management while PeerLock is active by running the Locking and Releasing of files in a thread. Interface - Selection List - The selection list is fully customizable to display what columns to view and what order to view them in. You can access a menu via right click to select what columns to view and you can drag columns around to determine what order to view them in. Also, we have added more information for display. Here is a list of columns we currently offer (see the help file for more detail): - Source - Target - Sub-folders - Include Files (New) - Exclude Files (New) - Exclude Folders (New) - Source Connect As (New) - Target Connect As (New) Defaults Columns: - Source - Target - Sub-folders Interface - Locked List - The Locked List is fully customizable to display what columns to view and what order to view them in. You can access a menu via right click to select what columns to view and you can drag columns around to determine what order to view them in. Also, we have added more information for display. Here is a list of columns we currently offer (see the help file for more detail): - Target File Path - Locked - Duration - Accessed By (New) - Application - Detection Type (New) - Source Open Mode (New) - Source Access Allowed (New) - Target Open Mode (New) - Target Access Allowed (New) - # Locks (New) - Release Detected (New) - Idle Time (New) - Temporary Releases (New) - Source Handle (New) - Target Handle - Lock File Handle - Source File Path - Source Modified - Source Attributes (New) Defaults Columns: - Target File Path - Locked - Duration - Accessed By - Target Access Mode - Source File Path Interface - Release List - New in this version, as files are released they will be added to this list. The Release List is fully customizable to display what columns to view and what order to view them in. You can access a menu via right click to select what columns to view and you can drag columns around to determine what order to view them in. Here is a list of columns we currently offer (see the help file for more detail): - Target File Path - Released - Duration - Accessed By (New) - Application - Detection Type (New) - Source Open Mode (New) - Source Access Allowed (New) - Target Open Mode (New) - Target Access Allowed (New) - # Locks (New) - Release Detected (New) - Idle Time (New) - Temporary Releases (New) - Source Handle (New) - Target Handle - Lock File Handle - Source File Path - Source Modified - Source Attributes (New) Defaults Columns: - Target File Path - Locked - Duration - Accessed By - Target Access Mode - Source File Path Interface - Other Additions - Updated look and feel through the use of a Skin option which can be enabled or disabled. - Improved interface management while PeerLock is active by running the Locking and Releasing of files in a thread. - Moved all global options into a Global Options Dialog which is accessible from the Options menu and/or a new button on the Tool Bar. - Added the display of the current amount of locked files and released files to the Locked List and Release List tab captions. - Added a new display for the Current Connection Status. Display will contain information during connection attempts, as well as, Retry Failed Connection settings of when failed connection will be retried next. - Added a new display of the Current Status Prefix. Here are some examples: - Running - Sleeping (n seconds/ms) - Initializing Check for Locked Files - Checking for Locked Files - Checking for Released Files - We now save and load the last Windows State (Maximized or Normal). - Reordered the default display columns in the Locked List. - When there are messages, the message display caption is now turned red to notify the user of new messages. Once clicked through it will turn back to the standard caption display color until a new message is received. - Added more capabilities to the drag and drop feature for all file and folder paths. Dropping on the field will use the more commonly used string (i.e. *.doc for file exceptions) and dropping just to the right of the path will use a secondary string (i.e. MyDoc.doc). Reporting - More extensive reporting showing all known information at the time of an event is now logged in a tab delimited fashion with column headers for the start and stop of a PeerLock locking session. This allows for easy import into a spread sheet. Below are some of the new reporting entries and there formats: Application States - PeerLock Started. - PeerLock Stopping... - PeerLock Stopped. Locking States - Locking Starting ---------------------- - Locking Started ----------------------- - Locking Stopped ----------------------- - Locking Re-Starting ------------------- OTHER INFO - Locking Re-Started -------------------- OTHER INFO - Manually Releasing All Locks ---------- - Manually Released All Locks ----------- - Manually Releasing One Lock ----------- - Manually Released One Lock ------------ Event Entries - Checked File FILEPATH OTHER INFO - Locked File FILEPATH OTHER INFO - Un-Locked File FILEPATH OTHER INFO - Re-Locked File FILEPATH OTHER INFO - Released File FILEPATH OTHER INFO - Created Stub File FILEPATH OTHER INFO - Deleted Stub File FILEPATH OTHER INFO - Created PSLock File FILEPATH OTHER INFO - Deleted PSLock File FILEPATH OTHER INFO - Trigger Event - Reapply Source Modified FILEPATH OTHER INFO - Trigger Event - Update Source Modified FILEPATH OTHER INFO Cache Clearing Events - Deleted Stub File (At Start) FILEPATH OTHER INFO - Deleted PSLock File (At Start) FILEPATH OTHER INFO - Deleted Stub File (Manual) FILEPATH OTHER INFO - Deleted PSLock File (Manual) FILEPATH OTHER INFO Messages - Could Not Lock File FILEPATH OTHER INFO - Could Not Release File FILEPATH OTHER INFO - Could Not Set File Time FILEPATH OTHER INFO - Could Not Create Stub File FILEPATH OTHER INFO - Could Not Delete Stub File FILEPATH OTHER INFO - Could Not Delete Stub File (Manual) FILEPATH OTHER INFO - Could Not Delete Stub File (At Start) FILEPATH OTHER INFO - Could Not Delete PSLock File FILEPATH OTHER INFO - Could Not Delete PSLock File (Manual) FILEPATH OTHER INFO - Could Not Delete PSLock File (At Start) FILEPATH OTHER INFO New Command Line Arguments - Detection Option - Detection Type - Use Local Detection /DT[+-] - Default is on if machine is not a Server - Detection Option - Detection Type - File Server Mode Detection /DN[+-] - Default is on if machine is a Server - Detection Option - Detect Files when Target Does Not Exist (Create Target Stub File) /DD[+-] - Default is On - Lock Options - Lock Type - Allow Access based on Source File /DL> - Default is On - Lock Options - Set Lock Frequency /RLn - Default 1000 ms - Release Options - Set Release Frequency /RFn - Default 3000 ms - Release Options - Set Release Idle Time /RIn - Default 5 seconds - Release Options - Trigger Event - Include files that have not been updated /RT[+] - Default is Off - Performance - Service Thread Sleep Frequency /PFn - Default 50 ms - Performance Option - Service Thread Sleep Value /PVn - Default 25 ms - Product Interaction - Cache Locked File History /JL[+-] - Default is On - Product Interaction - Clear Cache At Start /JS[+-] - Default is On - Retry Failed Connections /PRn - Setting to 0 will store all connection failures and not retry until restarting the locking - Setting to -1 will try to connect on every event (old method) - Other values are the frequency in milliseconds - Default: 60000 ms (every 10 minutes) - Minimum: 1000 ms (every second) Other Miscellaneous Enhancements/Improvements/Changes - Can now access menus, popup menus and the rest of the interface when running with a large number of files locked and a quick lock/release frequency. - Disabled the ability of adding and/or removing "FILE SERVER MODE DETECTION" to/from the application exclude list. - Added a new "Service Stopping..."service message to be reported to the event log. - Changed event log message from "Service Started with the following:" to "Service Started!" when starting service with no arguments. - The position of the PeerLock application when started for the first time was in the upper left corner of the screen, it will now be set in the center of the screen. - Fixed an issue where the log file would be created in the windows sytem32 folder when running PeerLock as a service if a fully qualified path was not selected. - Fixed an issue with the View Folders option where it did not work for paths that ended with a '\'. - Fixed an issue where temporary files and/or locks used by PeerLock would be left behind when stopping PeerLock in certain scenarios. - Fixed an issue where releasing and locking a large number of files while moving the interface could potentially freeze the application. - Service event log entries have been updated to show new PeerLock service name and the proper description for Event IDs. - Fixed an issue where if PeerLock is not registered when launching the application, the Registration window is not shown. Can only be accessed by right-clicking on the tray icon. - Fixed an issue where restarting PeerLock or when adding and/or removing an item to/from the application exclude list would sometimes throws an exception message. - Updated Display for trigger event options to be more intuitive. - Added a link to Locked Files List via click of the status in the bottom right when viewing the Release List. - Changed Locked List column header from Detected/Locked to Locked. - Added an option to the Help menu to "Create System Info File on the Desktop...". - Changed the trial period from 30 days to 15 days. New Default Settings - Changed the "Check for File Open On Detection" option default to off. - Changed the "Detect Files when Target Does Not Exist (Create Target Stub File)" option default to on. - File Server Mode is on by default if a server version of PeerLock is installed or the installed machine is a server. - The following local detection options are disabled and ignored when using File Server Mode Detection only: - Detection Options - Lock Options - Check for Open on Detection - Detection Options - Check for file name in caption - Release Options - Wait for associated application to close - Lock Options - Allow Access based on Source File is now the default Lock Type option. =============================================================================== The proprietor of PeerLock is: Peer Software, Inc. 4155 Veterans Highway Suite 12 Ronkonkoma, NY 11779 Phone Number: (631) 979-1770 Fax Number: (631) 979-1870 Email: support@peersoftware.com Copyright ? 1993-2008 Peer Software, Inc. PeerSync, PeerLock, PeerDRS, File-N-Sync, Save-N-Sync, Detect-N-Lock, Peer Scheduler and Peer-ISR are registered trademarks of Peer Software, Inc. 1993-2008 Peer Software, Inc. All Rights Reserved. =============================================================================== Peer Software supports try-before-you-buy downloadable software to allow you to make an informed decision prior to purchasing. We hope our products suit your needs and we are interested in hearing any comments, ideas and/or recommendations you may have for our products. ===============================================================================