Alpha release - December 2013
Pre-releaseFixed small typos in README.md
Added configuration switch to installer source file
Improved compression structure of installer file
Make it possible to do an in-place update by replacing the driver
Fixed error handling during device uninstallation
Improved upgrade handling and error code handling during installation
Refactored internal device state machine
Improved console input reading within debug application
Fixed 701ecb9 since zero is a valid SANE handle
Print device information even if it could not be opened
Fixed invalid conditions with possible invalid memory access
Fixed small formatting issues
Added missing break statements
Improved experimental ADF support using the SANE scanning approach
Fixed friendly device name and vendor used in GUIs
Added delay between installer steps to avoid driver conflicts
Fixed installer to replace same version to avoid driver conflicts
Reset source after changing scan mode to avoid being stuck with ADF
Reset source if ADF is empty instead of after changing scan mode
Replaced inline option name strings with constants
Replace existing value if there is an explicit flatbed value
Updated scan mode and source detection logic
Remove static fallback values and depend on value detection logic
Fixed selection of configured scanner in property page
Return actual SANE status code instead of boolean value
Fixed exit status check after e3f66fb
Added string resource helper functions
Added logic behind device property page buttons
Streamlined object variable names
Fixed memory leak by using delete[] for allocated arrays
Fixed possible invalid memory access in CoInstaller GUI logic
Added pre-allocating string duplication function to strutil
Replaced string allocation using malloc/free with recommended heap
Fixed typo
Fixed invalid memory access
Fixed parameter value declarations
Converted from UCS-2 Little Endian to ANSI
Added usage information to README.md