WinSparkle静默自动更新

时间:2015-09-22 12:19:03

标签: c++ visual-c++

我'尝试在使用V​​isual c ++创建的应用程序中使用WinSparkle库进行自动更新。

我发现他们有"无声更新"功能。我想它不应该显示告诉

的形式

" A new version of ... is available"使用按钮" Skip this version","Remaind me later""Install update"

存在可能值为SILENT的参数sparkle:installerArguments。但是怎么用呢?我想我需要把它放到服务器上的xml文件中:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
<channel>
    <title>Example app updates</title>
    <link>http://winsparkle.org/example/appcast.xml</link>
    <description>Appcast for Example app updates.</description>
    <language>en</language>
    <item>
      <title>Version 1.5.4</title>
      <sparkle:releaseNotesLink>http://winsparkle.org/example/relnotes.html</sparkle:releaseNotesLink>
      <sparkle:installerArguments>SILENT</sparkle:installerArguments>
      <pubDate>Tue, 15 Sep 2012 18:11:12 +0200</pubDate>
      <enclosure url="http://downloads.sourceforge.net/project/poedit/poedit/1.5/poedit-1.5.4-setup.exe"
                 sparkle:version="1.5.4"
                 type="application/octet-stream"/>
    </item>
  </channel>
</rss>

这没有帮助 - 我仍然有形式通知新版本。

如何制作&#34;沉默&#34;更新

3 个答案:

答案 0 :(得分:1)

正确的答案是无法抑制您所指的UI对话框。 &#34; / SILENT&#34;选项在运行时传递给机箱,以便包含更新的安装程序可以静默运行(&#34; / SILENT&#34;是InnoSetup的一项功能)。

但WinSparkle在没有用户确认的情况下不支持更新。这是大多数软件应该使用的行为。当然,有些场景,例如大型企业环境或无人值守服务器,我们希望更新是自动的,不需要用户交互。 WinSparkle对此没用(除非你修改代码并自己编译)

答案 1 :(得分:0)

Reed文档https://github.com/vslavik/winsparkle/wiki/Appcast-Feeds

您应该在此处添加到机箱 这个sparkle:installerArguments="/SILENT /SP-"

答案 2 :(得分:0)

您使用的是哪个版本?版本0.4于2014年9月6日发布,但installerArguments仅在April 25th 2015合并。您可能需要build it yourself