WinSparkleは、Windowsアプリケーション用のプラグアンドフォーゲットソフトウェアアップデートライブラリです。 Andy Matuschakなどによって書かれたOS XのSparkle Frameworkに大きく触発されており、同じ更新形式(Appcast)を共有し、非常によく似たユーザーインターフェイスを持っています。
WinSparkleの詳細については、https://winsparkle.orgを参照してください。
ドキュメント:wikiとwinsparkle.hヘッダー。
WinSparkleを使用する最も簡単な方法は、リリースから事前に作成されたWinSparkle.dllバイナリをダウンロードするか、 WinSparkle Nugetパッケージを使用することです。 X86、X64、およびARM64プラットフォームでは、事前に構築されたバイナリを利用できます。
WinSparkleにはC APIがあり、C/C ++に加えて多くの現代言語から簡単に使用できるようにします。それに加えて、一般的な言語用のいくつかのバインディングが存在します。
WinSparkleを自分で構築したい場合は、そうすることができます。 Gitチェックアウトからコンパイルする必要があります。一部の依存関係は、GITサブモジュールとして含まれています。
ソースを確認し、サブモジュールを初期化します。
$ git clone https://github.com/vslavik/winsparkle.git
$ cd winsparkle
$ git submodule init
$ git submodule update
ライブラリをコンパイルするには、 WinSparkle.sln (またはコンパイラバージョンに対応するもの)ソリューションを開いて構築します。
現時点では、Visual C ++(2010年以降)のプロジェクトが提供されているため、それが必要です(Express/Community Editionで十分です)。原則として、コードには他のコンパイラによってコンパイルされないようにするコードには何もありません。
Cmakeディレクトリには、サポートされていないCmakeビルドファイルもあります。
WinSparkleは、Sparkle Projectとまったく同じメカニズムを署名と署名検証に使用します。そのツールと検証方法は完全に互換性があります。
互換性のある方法を使用して、更新に署名できます。これを達成するには、SHA1ダイジェストを使用して、DSA秘密キーを使用して、更新ファイルのSHA1(バイナリ形式)に署名する必要があります。
WinSparkleは、キーを生成するツールを提供し、OpenSSLを使用して更新に署名します。
これらのツールを使用するには、Windowsで使用可能なopenssl.exeが必要です(プリコンパイルされたバイナリとして使用できます)。
または、Sparkle Projectが提供するツールを使用して、キーを生成して、MacosまたはLinuxでも更新に署名することができます。
bingenerate_keys.bat支援するツールが含まれています更新の準備ができたら( Updater.exeなど)、署名し、appcastファイルに署名を含めます。
binsign_update.bat Updater.exe dsa_priv.pemsparkle:dsaSignature AppCastファイルのenclosureノードのDSASignature属性。または、 sparkle:dsaSignature enclosureの子ノードになる可能性があります。 ソースアーカイブをダウンロードして、例/フォルダーをご覧ください。
出血の端にとどまり、WinSparkleのバージョンのバージョンを使用して、Public Repositoryからそのソースを入手できます。 winsparkleはgitを使用し、ソースはhttps://github.com/vslavik/winsparkleのGithubでホストされています
WinSparkleは一部の依存関係にサブモジュールを使用するため、ツリーをチェックしてから初期化する必要があります。
$ git clone https://github.com/vslavik/winsparkle.git
$ cd winsparkle
$ git submodule init
$ git submodule update
次に、上記のようにWinSparkleをコンパイルします。余分な手順は必要ありません。