Saturday, December 5, 2009

Solid Framework updated with new Installer and ProgressTicker classes.

We've released a new version of Solid Framework SDK This build addresses a couple issues:

  1. PdfPage.DrawBitmap always adds a watermark regardless of the license. It now properly disables the watermark if the license is a non free version.
  2. When converting Pdf pages to image files, the first page is blank. The GDI+ module is now loaded before the page drawing starts.
  3. Extraction of the support files is now faster because we are using memory streams instead of file streams.

This version also includes the new Configuration.Installer class, that we will talk about today in this blog post. With this class Solid Framework can be installed in one of three ways:

  1. Self extraction to the current users local application data folder.
  2. Self extraction to a folder handed to the Installer class.
  3. Pre extraction.

The first method is the default method that the previous versions of Solid Framework has been using. When the application calls one of the Solid Framework methods, it will check to see if the support files have been extracted to the current users application data folder, and if it has not, it will extract it at this point.

The second method allows these support files to be extracted to any folder the developer wishes. Before any Solid Framework method is called, the developer can set the Configuration.Installer.NativePlatformDirectory string property to a full path, and that path will be used as the root folder for the support files. This is useful if you want to share the support folder between many users and don't want each user to have their own copy of the support files, or you wish to remove this known folder location during an uninstall.

The third method is to use the ExtractFramework tool to extract the support files from Solid Framework beforehand and install them to a folder you want in your application installer. You have to let the Framework know where these files are by setting the Configuration.Installer.NativePlatformDirectory string property in the application. This gives the developer total control during the install and uninstall.

Another feature of this release is the ProgressTicker event class. You can register for this event to show progress UI while Solid Framework is extracting the support files (if needed).

The default for ProgressTicker is 50 ticks for the extraction. This tick value can be set to any value you wish by setting the TicksPerEpisode property off the ProgressTicker to any integer value. This also enables feedback in console applications, which didn't work in previous versions of Solid Framework, that needed a Windows message pump to work.

The extraction tool link above uses this feature to show feedback of the extraction. Source code for the ExtractFramework tool is included, it shows you how ProgressTicker works. Both Visual Studio 2005 and Visual Studio 2008 projects are included in the package.