Click or drag to resize
What's new in version 1.4

This document describes changes in SharpSetup 1.4 conpared to previous version (1.2).

New features

SharpSetup 1.4 introduces major enhancements to its bootstrapper.

Dynamic Library

IntermediateBootstrapper project allows you to execute custom C++ code prior to main GUI which is necessary when .NET Framework or another prerequisite of main GUI is not installed. In version 1.2 this project produced .exe file which was executed after unpacking files. Version 1.4 keeps the main concept but changes format from .exe file to .dll file. This change allows for better integration between Bootstrapper and IntermediateBootstrapper (eg. reporting status or progress).

Bootstrapper Library

To ease common tasks that have to be implemented in IntermediateBootstapper's C++ code new library is provided with SharpSetup 1.4. It allows you to query registry, check if specific product is installed, set progress, display message boxes, write to installer log, etc. As an example functions that check for and install .NET Framework and Windows Installer have been implemented.

File providers

File providers are classes that take care for locating files that are needed for prerequisite installation. SharpSetup 1.4 comes with 3 providers:

  • local - locates a file availables locally relative to installer executable or inside setup package,
  • cd - locates a file available on optical drive,
  • download - downloads a file from configured HTTP URL
File providers can be configured so that you can decide if the user should be asked for CD or permission to download from the Internet.

Configuration file format

Format of the configuration file has been changed from line based text file (mainconfig.txt) to XML file (configuration.sscf). New file format has clearer structure and allows for IntelliSense to give hints about specific configuration tags. It also allows preliminary checking of configuration correctness in Visual Studio even before you start to build the solution.

Bug fixes

SharpSetup 1.4 fixes many bugs that existed in version 1.2. This includes both issues reported by users and ones detected internally.

Improved DPI awareness (#49)

Previous versions of SharpSetup had problems when installers were run on devices with non standard DPI settings (images were not scalled well, controls were not properly resized in certain cases). These problems were fixed in version 1.4.

Improved error reporting

After releasing version 1.2 of SharpSetup several problems have been reported that related to missing third party components such as C++ support in Visual Studio or lack of VS integration component in Windows Installer XML. This resulted in cryptic error messages. Version 1.4 makes these messages much clearer.

Other bugfixes

List of other bug fixes:

  • Do not ask when closing FatalErrorStep (#38)
  • Allow installation on non-local drives (#39)
  • Fix resizing SetupWizard (#43)
  • MSI property passthrough (#44)
  • Do not modify non-SharpSetup solution files (#47)
  • Allow adding files to Assembler project not as link (#50))
  • Check action conditions on costing (#52)
  • Generate upgrade code GUID (#53)
  • TFS build problems (#60)
  • Some actions should not be executed on opening package (#63)