首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

軟件管家檢測更新原理:掃描策略與 XML 協議

     編輯:程式設計綜合問答

本地掃描策略

  1. 註冊表:`HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall` 及 `HKCU` 對應項,讀取 `DisplayName`、`DisplayVersion`、`InstallLocation`、`UninstallString`。
  2. 安裝目錄特征文件:Program Files 下已知軟件的版本資源(`.exe` 版本信息)、配置文件(`config.ini`、`version.xml`)。
  3. 啟動項/服務/計劃任務:輔助發現無註冊表條目的綠色軟件。
  4. 特征碼匹配:對主流軟件維護指紋庫(路徑關鍵字、文件哈希、版本資源)。

雲端比對流程

  1. 客戶端上傳軟件列表(名稱+版本+路徑)到服務器。
  2. 服務器查詢自維護軟件庫(非官網實時抓取),返回 XML/JSON:
    <soft name="Chrome" latest="120.0.6099.109" url="https://dl.xxx/chrome_install.exe" size="..." md5="..." />
  3. 客戶端比對版本號(語義化版本比較),提示更新。
  4. 用戶確認後,客戶端下載安裝包(多為管家服務器鏡像,保障帶速與安全),靜默安裝或喚起原安裝程序。

XML 作用

作為版本元數據交換格式,包含版本號、下載鏈接、MD5、更新日志、是否強制更新等字段,客戶端解析後決策 UI 展示與下載邏輯。

工程難點

  • 海量軟件指紋庫維護(需專人跟進版本發布)。
  • 版本號比較邏輯(如 `1.10` > `1.9`)。
  • 靜默安裝參數收集(`/S`, `/quiet`, `/norestart` 等)。
  • 權限提升(UAC)、殺毒軟件誤報、卸載殘留清理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved