我尝试在使用 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/