軟體更新套件的製作方法

顯示結果從第 1 筆 到 7 筆,共計 7 筆
  1. #1
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022

    軟體更新套件的製作方法

    常見的軟體更新套件類型,如下圖所示:



    第一種封裝,可用 IExpress 製作。原始檔案名稱為 WEXTRACT.EXE。
    第二種封裝,用於 2000/XP/2003 系統更新。原始檔案名稱為 SFXCAB.EXE。
    第三種封裝,搭配 Windows Installer 引擎,進行軟體更新。

    欲製作第二種封裝,簡易步驟如下:

    (1) 任選一個 Windows 更新,例如 KB2454533,用 HxD 等軟體編輯,取出自解壓模組。
    (2) 任選一個 Windows 更新,例如 KB2419632,用 /x 參數解出檔案。
    (3) 解出的檔案,用 cabarc 重新壓縮。範例指令:cabarc -m lzx:21 -p -r n test.cab *。
    (4) 將自解壓模組和壓縮檔合併,生成自解壓縮檔。範例指令:copy /b cab1.sfx + test.cab test.exe。
    (5) 執行預先準備好的命令腳本,使自解壓縮檔成為自解安裝檔。依據預設,執行 update\update.exe。
    (6) 執行自解安裝檔,驗證功能是否正常。

    參考連結:
    (1) IExpress 軟體更新套件的命令列參數
    (2) Windows 軟體更新套件的命令列參數
    (3) Microsoft 軟體更新套件的命令列參數
    (4) Legacy Windows セキュリティ支援サイト (for Win2000 SP4/XP SP2)


    附加檔案 附加檔案

  2. #2
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    自解檔修改了數次,測試約 1000 個樣本,雖然無法達到零錯誤,不過已經是自己現有知識的程度,剩下的只能詢問程式碼專家,或是製作補丁的微軟公司。

    歸納測試時所發現的問題和心得:

    (1) 每個更新套件,其自解壓模組仍有少許相異之處。意思也就是,每個更新套件,都要建立一個適用於該更新套件的自解壓模組。
    (2) 壓縮類型可以用 none 和 lzx:21。不支援 mszip 壓縮。
    (3) 檔案大小的限制。例如,執行檔 (429056) - 自解壓模組 (38400) = 壓縮檔 (390656)。推測是 (1) 的緣故。
    (4) 用微軟 delta 壓縮技術建立的檔案,先用一般的解壓縮軟體展開檔案,接著以 apatch.exe 程式,依據 _sfx_manifest_ 此檔案的描述,手動驗證一次。
    (5) 2000/XP/2003 的 _sfx_*._p 修補檔,其魔術數字為 PA19。(Vista/7/2008 的情況,其魔術數字為 PA30。)
    (6) 用 mpatch.exe 程式,模擬修補檔製作過程。經過多方嘗試,修補檔還是無法得到和官方一樣的 md5 值。
    附加檔案 附加檔案

  3. #3
    會員
    註冊日期
    2001-09-16
    討論區文章
    2,184

    回覆: 軟體更新套件的製作方法

    感謝分享 ^_^

  4. #4
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    回覆: 軟體更新套件的製作方法

    引用 作者:琥珀 瀏覽文章
    (5) 2000/XP/2003 的 _sfx_*._p 修補檔,其魔術數字為 PA19。(Vista/7/2008 的情況,其魔術數字為 PA30。
    這篇好像跟我發的那篇類似阿

    琥珀兄也開始製作了阿?

    魔術數字是啥東西呢?

    我在想

    不知道還有無有人保留 sp2到sp3之間的hotfix

    雖說每個hotfix包之間可能有

    1.安裝順序不同

    2.註冊檔的修正

    這兩點要留意

    可是最後hotfix都會整合成service pack

    把service pack 簡單的歸納後

    service pack 做的事情不外是

    1.更新檔案

    2.更新註冊檔

    但是service pack在安裝或整合時

    是整個直接安裝到系統內或整合到i386內的

    這樣反推hotfix可能會有'安裝順序問題'

    我是很存疑的

    所以如果有 sp2到sp3之間的hotfix

    直接用hotfix內的檔案來替換sp2安裝包內的檔案

    再用個這安裝包整合

    就可以知道

    偽sp3安裝包(在SP2基礎上搭配hotfix) 與 正統的sp3安裝包有多大差別

    如果沒差別

    就可以使用sp3安裝包製作偽sp4了

  5. #5
    散人 rushoun 的大頭照
    註冊日期
    2001-07-29
    討論區文章
    5,920

    回覆: 軟體更新套件的製作方法

    真是超厲害的技術文件討論,佩服佩服.....先收下了,謝謝分享。


    ========================================
    用智慧處理事情,用慈悲對待他人。(節錄 聖嚴法師與人文對話一書內容)

  6. #6
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    用 16 進制編輯器打開 2k/xp/2k3 的 patch 檔案,可以看到「PA19」字樣。

    因為想做一個 Update Rollup 1 for Windows XP Service Pack 3,便要對整個安裝流程、檔案分布結構、如何撰寫或修改,一個一個解決。微軟有一篇文章,「Inside Update.exe - The Package Installer for Windows and Windows Components」,當時找了很久才找到存檔資料。

    微軟的專利:
    System and method for intra-package delta compression of data
    Framework for content representation and delivery

    對於 Windows 的修補,為了減少資料的下載量,以及重新啟動的次數,用了以下方法:

    更新套件不再使用 exe 形式。更新程式 (update.exe 或 wusa.exe) 直接寄放在系統裡。
    因為不使用 exe 形式,自然就不需要自解壓模組。
    啟用 delta 壓縮,而非一般的檔案壓縮。
    啟用 HotPatching 技術。

    以 XP 為例,稍微計算一下:

    自解壓模組,約 40K。
    更新模組,約 400K。

    亦即每多下載一個 exe 檔案,至少就得耗費掉 440K 的空間和頻寬,而 220 個更新就有 96800K。以現今的技術來看,對於一般人確實是不痛不癢的數字,不過對於國際性的網站經營和軟體更新服務來說,能省多少是多少。

    當然,patch/diff/delta 的概念,在 unix 時代就有了,不是微軟的獨創。不過,只要是微軟相關的更新,無論喜歡與否,用 apatch (+mspatcha.dll) 和 mpatch (+mspatchc.dll) 準沒錯。

  7. #7
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    回覆: 軟體更新套件的製作方法

    這個是我嘗試做的PreSP4

    http://www.pczone.com.tw/thread/3/152486/

    看來方法類似(相同?)

    這是IE8直接整合更新安裝

    http://www.pczone.com.tw/thread/25/152361/

    只不過為了簽章問題

    都還沒有動到update.inf的改寫

    ms蠻奇特的

    有些更新只更新檔案本身

    註冊檔部分卻沒有完全更新

    例如 遠端桌面部分

    其實從RDP6.1開始的update.inf裡面本來就有加入連接遠端加密驗證電腦的

    只是ms推出時把那幾行使用;註解掉了

類似的主題

  1. 花枝娘的製作方法
    作者:琥珀 所在討論版:-- 網路輕鬆版 [圖片 笑話 影片]
    回覆: 7
    最後發表: 2011-04-06, 08:31 PM
  2. 新細明體更新套件 1.0 版 (2005/4/27)
    作者:MrBenson 所在討論版:-- Windows 討 論 版
    回覆: 35
    最後發表: 2005-12-17, 05:25 PM
  3. 【軟體】微軟-新細明體更新套件 1.0 版 (for XP/2003 Only)
    作者:Nomad 所在討論版:-- Windows 更新 & 驅 動 程 式 版
    回覆: 23
    最後發表: 2005-07-14, 07:44 PM
  4. 【問題】關於很小的圖形字的製作方法
    作者:yuhsheng 所在討論版:-- 繪 圖 軟 體 討 論 版
    回覆: 4
    最後發表: 2002-05-18, 06:24 PM
  5. 請問一下此光碟的製作方法..
    作者:justtim 所在討論版:-- 光 碟 燒 錄 討 論 版
    回覆: 5
    最後發表: 2001-08-28, 10:18 PM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •