Restore Point Creator

Jarom

Bardzo aktywny
Zasłużony
Dołączył
23 Wrzesień 2016
Posty
3893
Reakcje/Polubienia
1228
Restore Point Creator 6.4 Build 1
September 1, 2017 -- Version 6.4 Build 1
It's been a long time since a major new version has been released and this version is chock full of bug fixes and performance improvements. And now for the list of changes...

* Optimized much of the code used to parse Boolean values from the Registry.
* Added EnableWindowsFormsHighDpiAutoResizing to the embedded app.config file.
* Fixed multiple parts of the program to be thread safe.
* Added better handling of Integer Strings to the List View Sorting code.
* Simplified the RegEx parser used to the existence of numerical Strings with commas in it.
* Cleaned up some code on the Update Notification window.
* Added a Debug Mode and Build notation to the crash data that's written to the application event log.
* Improved the operation of the Application Event Log search tool. This required a massive rewrite of the Application Event Log tool in terms of how it holds data in memory.
* Improved code that's used to compare String values.
* Included additional code to handle user.config file access violations that could cause the program to crash. Thanks goes out to Terry Lynch for reporting this issue to me.
* Improved the window width restraints of the Disk Space Usage tool and Update Notification windows.
* Merged in version 1.300 of the HTTPHelper class and a new version of the deleteAtReboot Class.
* Fixed the support.convertErrorCodeToHex() function in which there was a possibility that "0x" wasn't prepended to the returned String.
* Optimized the code of the addExtendedCrashData() function along with adding support to handle StackOverflowException.
* Replaced the Please Wait window with a Please Wait panel built into the window itself. This major change to the program should go a long way in solving a lot of crash issues that people have been having with the program once and for all.
* Fixed a grammar mistake on one of the dialog boxes.
* Fixed a bug in which the label that tells you how many restore points are on the system wasn't updated after deleting selected restore points.
* Fixed a bug in the file download routine in which it was telling the user to check the Application Event Log if an error occurs but the program wasn't logging anything to the Application Event Log for the user to check.
* Removed an unnecessary thread declaration from the update checking routine.
* Changed the way that custom colors and column orders are saved by the program in the applications settings data. It now uses a much simpler way of storing the data.
* Removed the code to handle Specialized String Collections from the settings import and export code since it's no longer needed.
* Added a limit of 6 MBs of files to be attached to the Official Contact Form. This is so as to not overload the mail server on my web server.
* Changed the memory dump file type that's created when the program crashes. Hopefully it doesn't result in too big of a file.
* Greatly improved application startup times by properly setting the process priorities such as the CPU and I/O priorities. Before these were set to below Normal when launching the program using the Task Wrapper which caused the program to run slower than it should have been, especially at application launch.

As stated before, development of the program will be considerably slowed down. I don't have nearly the same amount of time that I used to have to keep a heavy active development cycle like what I had before with a 15 day release cycle. This new release is the first new major release since.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Jarom

Bardzo aktywny
Zasłużony
Dołączył
23 Wrzesień 2016
Posty
3893
Reakcje/Polubienia
1228
Restore Point Creator 6.5 Build 1
  • Included code to get the parent process.
  • Included code to elevate the priority if the program was auto-elevated by the Task Wrapper.
  • Made it so that the update notification window is the top most window.
  • Fixed an InvalidCastException that could be thrown due to an incurrent use of the "+" where a "&" should have been used.
  • Changed the way that the application stores application log data from the Windows Event Log to its own log file format.
  • Fixed the checkByFolderACLs() function, it was failing to check to see if the user group that the user belongs to was allowed access.
  • Changed the order in which errors are logged. The error is logged first then the exception data.
  • Added a check to see if the program is running as the SYSTEM user and if so the path access check function will always return True.
  • Included a command line switch for debugging log file writing.
  • Added some additional checks to the program update routine to check for the existence of an already existing new application binary file.
  • Fixed a bug on that only occured on Windows 7 systems in which the areWeRunningAsATask() function would incorrectly return a False value.
  • Fixed a bug in the runtime task setup in which there were double log entries.
  • Added an additional update channel check if you are running a beta version.
  • Added sorting to the Mount Volume Shadow Copy tool's listbox.
  • Added the ability to save the sorting order for the Mount Shadow Copy tool.
  • Added code to disable the Stable Update Channel if the current version is a Public Beta or Release Candidate version.
  • Included better and cleaner OS version detection code.
  • Included a call to the sort command in the getNewestSystemRestorePointID() function.
  • Improved and optimized the code of the getRestorePointName() function by no longer requiring a For-Each loop.
  • Added the inclusion of the error code for FileLoadException types along with some other fixes.
  • Transitioned the program from using version 4.0 of the Microsoft .NET Framework to version 4.6.
  • Removed a lot of low level API calls to determine if a user is part of the Administrator group and replaced it with much simpler native .NET API calls.
  • Updated the embedded Microsoft.Win32.TaskScheduler library.
  • Fixed a bug on the form that allows you to manually submit crash data that could cause a program crash if you didn't fill in the "What were you doing at the time of the program crash?" section.
  • Fixed a bug on the Crash Submission Form that could cause a program crash if you didn't fill in the "What were you doing at the time of the program crash?" section.
  • Removed a dependency on a third party DLL to work with ZIP files since Microsoft .NET Framework version 4.6 has support for working with ZIP files.
  • Removed the last bits of code that supported Windows XP.
  • Added code to detect Windows XP and tell the user that the program will now terminate.
  • Converted the storage of the log entry date to a raw Data Object instead of converting to a UNIX timestamp. Existing log entries will continue to use the old UNIX timestamp but any new log entries will use the new format.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Jarom

Bardzo aktywny
Zasłużony
Dołączył
23 Wrzesień 2016
Posty
3893
Reakcje/Polubienia
1228
Restore Point Creator 6.5 Build 3
This is an emergency out-of-band update. Fixed a major bug that caused the application to hang up while creating a system restore point. This was due to a bug in a system state polling function that gets the latest restore point ID number. There are several more fixes in the public beta branch but they're not yet ready for public release.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Camel1965

Bardzo aktywny
Zasłużony
Dołączył
8 Wrzesień 2010
Posty
37245
Reakcje/Polubienia
33662
Restore Point Creator 6.6 Build 1
October 30, 2017 -- Version 6.6 Build 1
Here comes another major update since the first of the month. I know that there was an update back on October 18th but that was an unplanned update that needed to be deployed fast to fix a critical issue. This update introduces a lot of changes and improvements. The changes are as follows...

  • Brought back some of the old event log code for when the regular application log file cannot be opened for whatever reason. Better to write the data somewhere instead of nowhere.
  • Rewrote the old Windows Event Log import/export function to do all file operations with a lock on the log file throughout the entire import/export operation.
  • Fixed an issue that causes the Crash Handling Window to appear during updates on systems with Avast antivirus installed on them.
  • Fixed a small bug in which the Clear Search Results button wasn't disabled after deleting log entries.
  • Added functionality to select all items in the Event Log list by pressing Control-A.
  • Added the Log Type to the exception logging function.
  • Added functionality to be able to turn off the writing of the list of restore points to the application log when creating scheduled restore points.
  • Came up with a better way to calculate the newest restore point ID number.
  • Came up with a better way to make the font of the newest restore point entry in the list bold.
  • Came up with a better way to determine if you selected the newest restore point and if so, disables the delete button.
  • Added some extended debug logging.
  • Added addition code to disable extended debug logging if the current build isn't a debug build.
  • Included some improvements to the code that translates the Integer value that indicates the restore point type into something that's meaningful to humans.
  • Renamed some variable names in the restorePointEntryItem Object and changed much of the code in the Delete Selected Restore Point routine to use far less variables.
  • Changed the percentage at which System Restore Point Creator will warn you about full reserved space to 80%.
  • Added logging to the internal vss.setShadowStorageSize() function.
  • Made the "Reserved System Restore Space for System Drive" window a child of the main window.
  • Added additional debug logging to the "Reserved System Restore Space for System Drive" AutoFix tool to find out where the program is hanging for some users.
  • Included a way to get the version of a referenced DLL. This is used to include the version number of the Microsoft.Win32.TaskScheduler DLL.
  • Reorded some of the text on the application's About box.
  • Updated the copyright lines to extend it to the year 2019.
  • Removed a legacy function in the WMI Namespace that's no longer needed by the program.
  • Fixed a small bug in which the "Create Custom Named Restore Point" button was enabled after the Please Wait panel disappeared even if there was nothing type in the textbox.
  • Fixed a small bug in which the "Create Custom Named Restore Point" button wasn't disabled when the textbox was empty.
  • Optimized the code of the deleteEntryFromLog() function to no longer need a loop to delete the log entry from the log object.
  • Included code to handle corrupted XML log files, thanks goes out to "A Malanga" for reporting this issue.
  • Added handling of NotSupportedException to the addExtendedCrashData() function.
  • Added logging of UnauthorizedAccessException and COMException crashes to the wmi.createRestorePoint() function for logging purposes.
  • Fixed a minor bug that caused the Restore Point name textbox to have anything typed in it erased if you clicked inside the Restore Point name textbox. Thanks goes out to "Steve" for reporting this issue to me.
  • Made some changes to the IF statement in the checkByFolderACLs() function to include implicit checks.
  • Included minor tweaks to the code used in the deletion of selected log file entries.
  • Added some additional code to the Event Log window to disable certain functions if the tool was launched without administrator privileges such as when launched from the Jump List tasks.

Zaloguj lub Zarejestruj się aby zobaczyć!
 

Camel1965

Bardzo aktywny
Zasłużony
Dołączył
8 Wrzesień 2010
Posty
37245
Reakcje/Polubienia
33662
Restore Point Creator 6.7 Build 3
November 12, 2017 -- Version 6.7 Build 3
Some more minor updates...

  • Fixed up the Convert Old Logs dialog box.
  • Removed the "Enable System Event Logging" setting, this is no longer needed since we are using our own log file for application logs. The purpose of the setting was if the user didn't want the program cluttering up the Windows Event Log.

November 12, 2017 -- Version 6.7 Build 2
Added a question to ask the user if they want to convert the old application logs.

November 11, 2017 -- Version 6.7 Build 1
This is a bit of a small update but here goes...

  • Updated the processUpdateXMLData() function to only get the value of the betaRCVersion XML node if the remote build type isn't set to "release".
  • Included code in the listview sorter code to specifically handle the restore point ID column value.
  • Included code in the listview sorter code to specifically handle the application event log ID column value.
  • Fixed a potential crash that could occur during export of the old application event log data to the new log file if something goes wrong in the actual export function. This was due to trying to get a lock on the log file which already has a lock that was created elsewhere in the program.
  • Replaced the code that assembles the crash data in the old event log code to use the function in the Functions.eventLogFunctions namespace.
  • Removed the special function that just adds to an existing logObject, it was only being used in one place in the code.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Camel1965

Bardzo aktywny
Zasłużony
Dołączył
8 Wrzesień 2010
Posty
37245
Reakcje/Polubienia
33662
  1. Restore Point Creator 6.9 Build 1
January 17, 2018 -- Version 6.9 Build 1
  • Added the ability to show System Restore Space for all system drives to the Disk Space Usage tool.
  • Fixed a possible crash while updating that makes the program appear hung during the update. Now instead of just sitting there the program will give you an error message.
  • Removed several legacy functions that were cluttering up the code.
  • Fixed a bug with the jumplist tasks in which the Please Wait window disappeared before it should have.
  • Fixed a possible NullReferenceException in the convertLineFeeds() function that's used on the Event Log window.
  • Completely rewrote the log file access functions to use lock files to indicate that the program has a lock on the log file. As long as the lock file exists the program will wait in a spin lock.
  • Fixed an issue in which if a corrupted log file was detected the program didn't immediately write a new log file to disk.
  • Added checks to see if the application log file is empty.
  • Merged in the SmoothProgressBar User Control directly into the source tree instead of referencing an external embedded DLL. This should make the resulting program EXE file slightly smaller in size.
  • Fixed a bug in which importing an exported settings file that contains legacy settings that are no longer part of the program will cause a program crash. Thanks goes out to Rob Murphy for reporting this issue to me.
  • Changed the log type for crashes that may arise in the addPrioritySettingsSubRoutine() function to a Warning type instead of an Error.
  • Changed it so that we only delete the log lock files during the application initialization phase if there's no other instances running.
  • Added some sanity checks to the getServiceStartType() function.
  • Added a right-click context menu to the event log list on the Application Event Log window.
  • Added a prompt to ask you if you do indeed want to delete the application event log.
  • Fixed a small bug in which the delete log button wasn't disabled after leaving the event log list.
  • Added a spin lock to the Application Event Log window's log file watcher to wait until the lock file is deleted before attempting to get stats on the log file such as the size of it. This fixes a small bug in which the size of the log file was shown as zero bytes because the log file had not been completely written to disk before the log file watcher's code was executed.
  • Fixed a significant memory leak on the Application Event Log window. The leak was caused by not cleaning up the cached event log data that was held in memory after closing the window. Depending upon the size of the log file it could mean that multiple MBs of data was left on the program's heap.
  • Fixed another memory leak on the Application Event Log window. The leak was caused by not cleaning up the images list after closing the window.
  • Changed many of the functions in the eventLogFunctions Namespace to use a centralized XmlSerializer Object instead of creating new objects every time the function is called.
  • Changed the text of the button that refreshed the log file on the Application Event Log window.


December 20, 2017 -- Version 6.8 Build 1
It's update time again and there's another batch of fixes and best of all, there's a performance improvement too.

  • Improved application startup performance by nearly 60%!!!
  • Removed a legacy settings variable.
  • Fixed a minor bug in which the log export function would be triggered even on a new installation.
  • Removed the seconds display from the bottom of the Application Event Log window because more often than not the seconds number was always 0.
  • Added additional wording to the time display at the bottom of the Application Event Log window.
  • Converted logID variables from ULong to Long as per the specifications of the restorePointCreatorExportedLog() Class Object.
  • Made it so that corrupted log files are saved with an incremented number as part of the file name. This is to as to preserve older corrupted logs.
  • Included some minor changes to the jumplist task creation code.
  • Put in code to check the Startup type for the VSS system service in the "Manually Fix System Restore Tool".
  • Included code to convert an Integer error code to a Hexadecimal value in the part of the code that falls back to Windows APIs to create a restore point.
  • Added some code to write the startup type for the VSS System Service to the application event log as part of the "Manually Fix System Restore Tool".
  • Added some code to attempt to start the VSS System Service as part of the "Manually Fix System Restore Tool". If it fails to start the program will log the error to the application event log.
  • Added task priority code to many of the functions that deal with scheduled tasks.
  • Added code to set and check for variables in the Registry so that functions that run at application startup don't need to be run if they have been run before.
  • Changed the Global Crash Handler window code to use the assembleCrashData() function to standardize the stack trace data.
  • Added extended exception messages to the parent process retrieval function to indicate why something went wrong if something were to go wrong, this includes messages.
  • Fixed one line of code in the areWeRunningAsATask() function to be more clear that's used in the application initialization code.
  • Changed two IF statements be only one IF statement thanks to the AndAlso Boolean operator.
  • Optimized the bytesToHumanSize() function to use less code.
  • Fixed one minor issue with the randomStringGenerator() function in which I didn't declare the returned data type.
  • Made it so that General unableToGetParentProcessException errors are logged as Warning event logs as versus Error event logs.
  • Included code to ask the user to manually submit a crash report to the Application Event Log window only if the crash report type is labeled as an Error.
  • Updated the embedded Microsoft.Win32.TaskScheduler library to version 2.7 Build 2.
  • Fixed a crash issue on launch of the program if the Segoe UI Font has issues with Bold text. This is a hack fix for the issue, it doesn't at all fix the issue with the Font itself. Thanks goes out to "Guy" for reporting this issue to me.
  • Added a Last Modified line to the bottom of the Application Event Log window.
  • Shortened the wording of the label that tells the user how long it took for the program to load the log file.
  • Added inner exception logging to the assembleCrashData() function.
  • Added a check to see if we are in update mode so as to not check for the parent process.
  • Added a way to tell the program to not check for the parent process, this is primarily used during the update routine that may cause extraneous errors in the Application Event Log.
  • Fixed a rare bug in the Disk Space Usage bar resizing routine that could cause the program to crash if an Object is Null resulting in a Null Reference Exception. Thanks goes out to LMP for reporting this issue to me.
  • Fixed a typo where there was an uppercase letter but it should have been lowercase.
  • Oh, and did I mention improved application startup performance by nearly 60%? Oh yes, I think I did but it's definitely worthy of mentioning that again.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Camel1965

Bardzo aktywny
Zasłużony
Dołączył
8 Wrzesień 2010
Posty
37245
Reakcje/Polubienia
33662
Restore Point Creator 6.9 Build 2
Version 6.9 Build 2
Fixed a bug in which if the log file doesn't exist the program fails to create a new one. Somehow this bug escaped the month of testing in the public beta branch. Thanks goes out to Charles Ray for reporting this issue to me.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Jarom

Bardzo aktywny
Zasłużony
Dołączył
23 Wrzesień 2016
Posty
3893
Reakcje/Polubienia
1228
Restore Point Creator 6.9 Build 3
This is an out of band emergency update. Backported a fix from the dev branch to fix an issue with exporting log files that resulted in corrupt log files. This was caused by a regression in version 6.9 Build 1.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

Camel1965

Bardzo aktywny
Zasłużony
Dołączył
8 Wrzesień 2010
Posty
37245
Reakcje/Polubienia
33662
Restore Point Creator 7.0.4
March 20, 2018 -- Version 7.0 Build 4
Removed the system restore auto-fix code from the system restore creation code on the main window, it was causing far more issues than it was helping to solve. Users are instead told to go to the System Restore Point Utilities menu and to click on Manually Fix System Restore.
Zaloguj lub Zarejestruj się aby zobaczyć!
 

baziroll

Świeżak
Dołączył
8 Czerwiec 2017
Posty
18
Reakcje/Polubienia
68
discontinued
The Final Update (July 24, 2018 — Version 7.1 Build 2)
This is the final release of System Restore Point Creator. This last version is a build combining most of the changes that occurred in the Public Beta Test Branch before I pulled support for this program back in March of 2018. This release does not change the fact that this program is no longer supported. All forms of contact have been removed from the program, that includes the Official Contact Form and the Crash Submission Form. Obviously I would not want to be contacted for a program that I no longer support.
I recommend that if you need this kind of utility, look somewhere else. System Restore is badly broken and Microsoft appears to have no inclination to fix it. I have tried to fix it myself, bend it to my will, but (sadly) I’ve been unsuccessful in this endeavor. System Restore is fundamentally broken and I cannot recommend anyone using it. If you need this kind of system utility I recommend using a full system backup suite like Macrium Reflect or any of the other disk imaging utilities that have shown to be far more reliable than System Restore.

Zaloguj lub Zarejestruj się aby zobaczyć!
 
Do góry