c++ - WinSparkle 静默自动更新

标签 c++ visual-c++

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

我发现它们具有“静默更新”功能。而且我想它不应该显示告诉

...的新版本可用”带有按钮“跳过此版本”、“稍后保留我”“安装更新”

参数 sparkle:installerArguments 可能值为 SILENT。但是如何使用呢?我想我需要把它放到服务器上的 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>

这没有帮助 - 我仍然有通知新版本的表格。

如何进行“静默”更新?

最佳答案

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

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

关于c++ - WinSparkle 静默自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32716678/

相关文章:

c++ - protocol buffers + zlib = 未解析的外部符号

windows - 如何通过控制台应用程序在Windows中延迟系统关闭?

C++ 直接绘制到屏幕上(如叠加)

c++ - 痛饮 : Unable to access constructor with double pointer

c++ - Arduino Serial.available() 不断增加

c++ - 在 C++ 中使用函数 JavaScript 样式进行映射

visual-studio - 如何在 Visual Studio 中设置 DLL 文件的路径?

c++ - 一个类作为另一个类的友元的成员函数

c++ - 在不使用基础的情况下从 C++ 获取包路径

windows - 处理巨大的位图