Skip to content

WinSparkle is Windows version of the venerable Sparkle software update framework used by many Mac OS X apps.

License

Notifications You must be signed in to change notification settings

freerangenerd/winsparkle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 About
-------

WinSparkle is a plug-and-forget software update library for Windows
applications. It is heavily inspired by the Sparkle framework for OS X
written by Andy Matuschak and others, to the point of sharing the same 
updates format (appcasts) and having very similar user interface.

See http://winsparkle.org for more information about WinSparkle and
documentation on how to use it.

 Enhancements In This Fork
---------------------------

This fork of WinSparkle contains the following enhancements:

1. Added a callback win_sparkle_localized_string_callback_t that allows the
host to localize strings used in the UI class. This does not inhibit using
the wxwidgets localization paradigm, but provides an alternative if your
application has its own localization system you would like to use.

When each string is used, if the host has set up this callback, the
host will be passed a char * to the UTF-8 string WinSparkle wants to
display. The application can simply return the string or map it to
a localized string and return that.

2. Added a configuration call: win_sparkle_set_preferred_locale.
This allows the host to specify a preferred locale for the release notes
to display to the user.  

The Appcast class has been updated to handle selecting release notes for
the preferred locale. EN (English) is the default locale. If a
<sparkle:releaseNotesLink> tag is found with a lang attribute matching
the preferred locale, the release notes displayed will be drawn from the
url value specified for that tag.

3. Support for special handling of paid updates has been added.

An item specified in the appcast can be marked as a paid update by
specifying a paidUpdate attribute whose value is the url for a web
page to load in the user's default web browser, instead an an url
attribute for an executable to download. The UI will tell the user
a paid upgrade is available and instead of an Install button a Learn More
button is presented. A paid update item can also display release notes.
A user may elect to Skip This Version for a paid update. If the user skips
the paid update and a free update is available, the next time WinSparkle
checks for an update it will display the free update available for installation.

 Using prebuilt binaries
-------------------------

The easiest way to use WinSparkle is to download the prebuilt WinSparkle.dll
binary. It doesn't have any extra dependencies (not even msvcr*.dll) and is
compatible with all Windows compilers.


 Building from sources
-----------------------

If you prefer to build WinSparkle yourself, you can do so. All 3rd party
dependencies are included in the sources archive available for download, you
don't need to install anything else.

At the moment, projects for Visual C++ 2008, 2010 and 2012 are provided, so
you'll need that (Express edition suffices). In principle, there's nothing in
the code preventing it from being compiled by other compilers.

To compile the library, just open WinSparkle.sln solution and build it.


 Where can I get some examples?
--------------------------------

Download the sources archive and have a look at the examples/ folder.


 Using latest development versions
-----------------------------------

If you want to stay at the bleeding edge and use the latest, not yet released,
version of WinSparkle, you can get its sources from public repository.
WinSparkle uses git and and the sources are hosted on GitHub at
http://github.com/vslavik/winsparkle

WinSparkle uses submodules for some dependencies, so you have to initialize
them after checking the tree out:

$ git clone git://github.com/vslavik/winsparkle.git
$ git submodule init
$ git submodule update

Then compile WinSparkle as described above; no extra steps are required.


 Where to get help
-------------------

See http://winsparkle.org

About

WinSparkle is Windows version of the venerable Sparkle software update framework used by many Mac OS X apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 57.1%
  • Shell 25.5%
  • C++ 17.3%
  • CSS 0.1%