Files
QSfera/Desktop/docs/windows-update-feed.md
T
2026-06-10 06:43:26 +03:00

2.2 KiB

Windows Update Feed

QSfera Desktop uses the built-in Windows updater from src/gui/updater. The updater reads APPLICATION_UPDATE_URL, appends query parameters such as version, platform=win32, and msi=true, and expects an XML document with root element QSfera.

Production feed URL:

https://qsfera.kusoft.xyz/desktop/updates/stable.xml

The no-update feed is valid when no signed Windows MSI is available yet:

<?xml version="1.0" encoding="UTF-8"?>
<QSfera>
  <version></version>
  <versionstring></versionstring>
  <web>https://qsfera.kusoft.xyz/</web>
  <downloadurl></downloadurl>
</QSfera>

To advertise a signed MSI update, publish the MSI over HTTPS and replace the feed with a concrete version:

<?xml version="1.0" encoding="UTF-8"?>
<QSfera>
  <version>1.3.7</version>
  <versionstring>1.3.7</versionstring>
  <web>https://qsfera.kusoft.xyz/</web>
  <downloadurl>https://qsfera.kusoft.xyz/desktop/downloads/QSfera_Desktop-1.3.7-x64.msi</downloadurl>
</QSfera>

From the repository root, prepare the feed XML from a signed MSI and optionally upload the MSI/feed to the web host:

.\scripts\package-windows-desktop.ps1
.\scripts\publish-windows-desktop.ps1 -MsiPath ".\artifacts\windows-desktop\QSfera-Desktop-4.0.0-win-x64.msi"
.\scripts\publish-windows-desktop.ps1 `
  -MsiPath ".\artifacts\windows-desktop\QSfera-Desktop-4.0.0-win-x64.msi" `
  -RemoteHost "192.168.0.185" `
  -RemoteDownloadDirectory "/var/www/qsfera/desktop/downloads" `
  -RemoteFeedPath "/var/www/qsfera/desktop/updates/stable.xml"

publish-windows-desktop.ps1 refuses remote publication when the MSI is not Authenticode-signed. -SkipSignatureCheck is only for local feed validation and is rejected when -RemoteHost is set.

From the repository root, validate the feed before a Windows production release:

.\Desktop\scripts\validate-desktop-update-feed.ps1 -Url "https://qsfera.kusoft.xyz/desktop/updates/stable.xml"
.\Desktop\scripts\validate-desktop-update-feed.ps1 -Path ".\artifacts\windows-desktop\publish\stable.xml"
.\Desktop\scripts\validate-production-release.ps1 -VerifyUpdateFeed

For a stable signed tag release, validate-production-release.ps1 -RequireSigning also verifies this live feed.