TWI221582B - Method of applying an update to a contained collection of program and data files based upon versions - Google Patents

Method of applying an update to a contained collection of program and data files based upon versions Download PDF

Info

Publication number
TWI221582B
TWI221582B TW090108706A TW90108706A TWI221582B TW I221582 B TWI221582 B TW I221582B TW 090108706 A TW090108706 A TW 090108706A TW 90108706 A TW90108706 A TW 90108706A TW I221582 B TWI221582 B TW I221582B
Authority
TW
Taiwan
Prior art keywords
installer
program
update
updated
patent application
Prior art date
Application number
TW090108706A
Other languages
English (en)
Inventor
Bryce Allen Curtis
Jimmy Ming-Der Hsu
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of TWI221582B publication Critical patent/TWI221582B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Description

1221582 五、發明說明( 發明領媸: (請先1«·讀背面之注意事項存填寫本頁) 本發明係概括關於電腦軟體之領域,特別是有關於以 版本為基礎來更新程式及資料檔案的方法及系統。 發明背章: 軟體發展是建立軟體應用程式的過程,軟體應用程式 的實例包括使用於電腦上的文字編輯器、網站瀏覽器或試 算表程式。為了建立此等軟體應用程式,軟體開發杳(程 式設計師)使用軟體開發者工具套件(工具套件),例如Java 開發者工具套件(JDK),其可從Sun Micr〇systems公I]購 知。工具套件為軟體開發者或程式設計師提供一組經過整 合的軟體例行程式,並利用其幫助程式設計師撰寫及發展 軟體應用程式與/或建立及維護資料庫。舉例來說,工具# 件可為圖形界面提供用於建立選單、對話框、字型及圖系 的工具及函式庫。此種工具套件亦可將應用程式連結到軟 體例行程式的函式庫,以及將程式連結到作業環境,例如
Windows™。Windows 是微軟公司(Microsoft Corporation) 的產σσ及商“ $亥公司位於華盛頓州Redmond市。 經濟部智慧財產局員工消費合作社印製 目前在技術上的創新及改變的速度遠超過以往的速 度。特別是在半導體及其它電腦硬體技術的發展上,每天 皆有更快且功能更強大的資料處理系統被建構出來。上述 發展創造新的機會及功能,使得軟體開發者能夠利用此等 新的機會及功能來提供更好且更快的軟體應用程式,並且 具有更多使用者所需的技術特徵。 第2頁 本紙張尺度財國ΐ家標準(CNS)A4規格(210 X 297公餐7 經濟部智慧財產局員工消費合作社印製 1221582 A7 B7 五、發明說明() 為了跟得上電腦系統在技術上的變化,以及跟得上或 超前競爭,軟體發展者會持續更新及修改他們的程式,藉 以增加更多的技術特徵,並以更快及更有效的方式來執 行。然而,並非所有的資料處理系統均使用同樣類型的電 腦架構’其亦非均使用相同的作業系統。因此,許多應用 程式被撰寫成多種版本,而各個版本適用於不同類型的資 料處理系統。舉例而言,消費者可能會購買適用於 Windows™ 的 Quicken® 或適用於 Macintosh™ 的 Quicken®,而此需視消費者所擁有的電腦類型而定。 Quicken®是一種個人財務管理軟體產品,並且為位於加州
Mountain View 市之 Intuit 公司的註冊商標。Macintosh™ 為位於加州Cupertino市之蘋果電腦(Apple Computer)公司 的商標。 以目前而言,當提供支援有助於軟體應用程式之新功 能的安裝工具套件經過更新或修改時,應用程式所使用之 安裝工具套件的各種版本必須擁有其自己的更新,此更新 被產生用以更新各個應用程式的安裝器。此過程非常單調 且耗時’因此每當程式開發者已經更正或改進其應用程式 锋,其將不會立即發布更新,而會等到完成許多修改之後 才發布。然而,許多時候,使用者是以焦急的心情等待變 更及改善。因此,擁有一種建立單一更新程式的方法、系 統及裝置將很有助益,此種單一更新程式可更新安裝器工 具套件的多種版本,並且可在所有被支援的硬體平台與/ 或作業系統上運作。此種單一更新程式應使開發者不需要 第3頁 本紙張尺度適財國國家標準(CNS)A4規格⑽X撕公餐) --------_---Φ 裝--------訂--------- (請先M-讀背面之注意事項再填寫本頁) 1221582 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明() 為各種程式版本以及各種執行程式的硬體平台及作業系, 統建立不同的更新程式,如此即可鼓勵進行更頻繁的更新 發布。 發明目的及概述: 本發明提供一種用於更新軟體安裝器程式的方法、系 統及裝置。在一較佳實施例中,如修補檔等程式被提供於 安裝程式的多種版本,其中該程式藉由安裝程式加以更 新,且存在該安裝益程式的多種版本。隨後判斷安裝器程 式的版本是否不正確。若版本不正確,則安裝器程式從修 補檔中的檔案進行更新。而後,利用已更新的安裝器程式 將修補檔安裝於程式中。 圖式簡單說明: 本發明所認定的新穎特徵係在所附申請專利範圍中 被提出。然而,本發明本身、使用的較佳模式、其它目的 及其優點將藉由參照以下的詳細說明並配合伴隨的圖式 而更清楚明白,其中·· 第1圖係以圖像描繪一種可在其中實作本發明之較佳實施 例的資料處理系統; 第2圖係描緣一種可在其中實作本發明之資料處理系統的 方塊圖, 第3圖為根據本發明描繪用於更新安裝檔案或程式之方法 的方塊圖;及 第4頁 本紙張尺度適財國國家標準(CNS)A4規格(210 X 297公餐) '------ — --------·---裝--------訂--------- (請先S3·讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 1221582 A7 . B7 五、發明說明() 第4圖為根據本發明描繪利用安裝工具套件之已更新的版 本來更新安裝檔案或程式的方法流程圖。 圖號對照說明: 100 個人電腦 102 影像顯示終端機 104 鍵盤 106 指標裝置 108 儲存裝置 1 10 系統單元 250 資料處理系統 252 處理器 254 主記憶體 258 PCI橋接器 256 PCI近端匯流排 258 PCI橋接器 260 近端區域網路轉接器 262 SCSI主匯流排轉接器 264 擴充匯流排介面 266 音效轉接器 268 圖像轉接器 269 影音轉接器 270 鍵盤與滑鼠轉接器 272 數據機 276 硬碟機 278 磁帶機 280 唯讀光碟機 302 目錄 304 自我解壓縮安裝檔案 308 安裝檔案 3 10 修補程式 發明詳細說明: 現在請參照圖式,特別是第1圖,其根據本發明之較 佳實施例,以圖像表示可實施本發明的資料處理系統。圖 中描繪個人電腦1 00,其包括系統單元1 1 0、影像顯示終 第5頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —-------·---裝--------訂--------- (請先W·讀背面之注意事項再填寫本頁) 1221582 A7 五、發明說明( B7 經濟部智慧財產局員工消費合作社印製 端機102、鍵盤1〇4、儲存 滑氧’其中儲存裝置可為軟碟機^^裝置^例如 移式儲存媒體。凡孰 、匕頦型的水久性或可 4士 W…、自此項技藝人士當可瞭解,並它 裝置斫可納入個人電腦1〇〇。 八匕輸入 個人電腦100可利t y ★ ,, 用任何適當的電腦來實作。雖炊圖 式中所描緣的是個人電腦,但本發明之=乍=圖 它類型的資料處理系統中、τ施例可在其 站、網路電腦、網際_路 作 除、.罔路裝置、掌上型電腦等。 系統單元110包含記憶體、中央處理單元(CPU)、一 或多個輸二輸出(1/0)單元及類似裝置 '然而,在本發明 中’系統早兀1 10最好包含推測性處理器,其可做為咖 或存在於系統單元之多個CPU的其中之一。 現在請參照第2圖,圖中描緣可實施本發明的資料處 理系統之方塊圖。資料處理系統250是電腦的一個範例, 例如第1圖中的個人電腦100。資料處理系統25〇運用周 邊元件連接介面(PCI)近端匯流排架構。雖然在範例中所描 繪的是PCI匯流排,但亦可使用別種類型的匯流排架構, 例如微通道(Micro Channel)及工業標準架構。處理器252 及主記憶體254是經由PCI橋接器258連接於pci近端匯 流排256。PCI橋接器258亦可包含用於處理器252的整 合型記憶體控制器及快取(cache)記憶體。PCI近端匯流排 2 5 6的額外連接可透過直接元件相連或附加板加以連接。 在描繪的範例中,近端區域網路(LAN)轉接器260、小型 電腦系統介面(SCSI)主匯流排轉接器262及擴充匯流排介 第6頁
· ------------ (請先«!·讀背面之注意事項再填寫本頁) I I 蠢 華. 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1221582 A7
經濟部智慧財產局員工消費合作社印製 五、發明說明() 面264是透過直接元件相連而連接於近端匯流排 256。對照之下,音效轉接器266、圖像轉接器268及影音 轉接器269是透過插入擴充槽的附加板而連接於pci近端 匯流排256。擴充匯流排介面264是為鍵盤與滑鼠轉接器 2 7 0數據機2 7 2及其它記憶體提供連線。在圖示的範例 中SCSI主匯流排轉接器262是為硬碟機276、磁帶機278 及唯璜光碟機(CD-ROM)280提供連線。典型的PCI近端匯 流排實作將可支援三或四個PCI擴充槽或附加連接。 作業系統在處理器2 5 2上執行,並用於協調管理及控 制第2圖之資料處理系統中的各種元件。此作業系統可為 商業市場上可購得的作業系統,例如Java〇s For Business™或〇s/2TM,該等為位於紐約州Am〇nk市之ibm 公司的產品商標。JavaOS是從網路上的伺服器載入網路用 戶端’並且支援Java程式及小程式(applet)。一些較適合 執行追縱堆疊鬆解(stack unwinds)(如下所述)的java〇s特 性在於JavaOS不支援分頁或虛擬記憶體。物件導向的程 式系統,例如Java,可連同作業系統一起運作,並可從處 理系統250上執行的Java程式或應用程式呼叫作業系統。 作業系統的指令、物件導向作業系統,以及應用程式或程 式均位於儲存裝置上,例如硬碟機276,並可載入主記憶 體而供處理器252執行。當資料處理系統250用於做為網 路用戶端時,通常不存在硬碟機且記憶體很有限。 凡熟習此項技藝人士當可瞭解,第2圖中的硬體將取 決於實作的情況而有所不同。舉例而言,其它周邊裝置, 第7頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------β-----------^--------- (請先Μ·讀背面之注意事項再填寫本頁) 1221582 經 濟 部 智 慧 財 產 局 消 費 合 作 社 印 製 A7 五、發明說明() 例如光碟機及類似裝置,可嚭 J頟外加入或取代第2圖中所描 縿的硬體。描繪的範例並非表 尸衣不本發明在架構上的限制。 舉例而言,本發明之處理方法 ^ . 地王万决可應用於多重處理器之資料 處理系統。 現在請參照第3圖,装姥被4« 固 具根據本發明描繪用於更新安裝 標案之元件的方塊圖。在血刑a . 仕興裂的情況下,當軟體發展者撰 寫應用程式時’例如撰寫文字編輯器、網頁剧覽器或電腦 影像遊戲時,軟體發展者會將資料樓案壓縮成一個較小的 ⑽而傳送給消費者。未經壓縮的樓案經常無法容納於 單一電腩可項取的媒體,例如軟碟或CD_R〇M。然而,經 過壓縮的檔案通常足夠小而能夠容納在單一電腦可讀取 的媒體,以傳送給消費者,因而對製造商及消費者來說, 其費用較低。再者,若應用程式是經由網路(例如網際網 路)傳送給消費者,則經過壓縮的較小資料檔案將比未經 壓縮的應用程式版本花費較短的下載時間。 為了使應用程式能夠正確地安裝於特定平台上,其中 必須納入安裝程式。在典型的情況下,軟體發展者並不會 製作他們自己的安裝器,而是使用預先製作完成的安裝工 具套件,例如Java安裝工具套件。軟體發展者將安裝工具 套件所附帶的檔案(其可能多達數百個)與應用程式本身的 樓案一起置放於目錄302。此目錄可包含若干安裝样案, 例如 jfile.class、installer.class、uninstall.cUss、data zip 及program.class等檔案,以及應用程式檔案,例如第3 圖所描繪的應用程式檔案1及應用程式檔案2。一旦安裝 第8頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) . --------^--------- ί請先閱讀背面之注意事項再填寫本頁) 1221582 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明() 及應用程式檔案位於目錄302中之後,該等檔案將會被壓 縮(步騾Ml),亦即壓縮成單獨的自我解壓縮安裝檔案 304 ’ 其經常被命名為 ’’install.class,,。 當安裝工具套件的新版本可取得時,稱作,,fix class,, 的更新修補程式310,將會被下載或載入使用者的電腦。 修補檔或修補程式是一種暫時或快逯的修補程式。修補檔 是在不需更換整個程式之下而用於更新程式。部分機器碼 或目的碼可被取代,而非完全編譯整個程式。修補程式亦 可取代應用程式中的整個可執行模組或其它檔案。舉例而 言,此新版的安裝工具程式可為作業系統增加或改進支 援。當使用者想要更新安裝器時,例如安裝樓案3〇4,修 補程式31〇可以具有下列引數的命令列工具程式加以執 行: java fix [install.class] -norun 其執行修補程式而將標案從安裝標i 3〇4解㈣至目錄 302(步驟M2)。而後’修補程式比對(步驟M3)目錄3〇2中 的樓案組與更新修補程式310的版本,藉以判斷目前的安 裝樓案304是否具有較新版本的安裝工具套件,或更新修 補程式310是否包含較新版本的安裝工具套件。在一實袍 例中,各安裝器X具套件的版本可從㈣g随標案中 取得。在此種實施例中’ program.class標案所包含的資訊 表明安裝樓案304當中安裝工具套件之所有權案的版本號 碼。舉例而言,在Java程式踩由 狂八馬中,Program.class檔案中 的程式碼其中一列可包含下列字串: 第9頁 私纸張尺度適用中國國家標準(CNS)A4規格(210 X 297公£ --------.---裝--------訂--------- (請先Μ·讀背面之注意事項再填寫本頁) 1221582 A7 B7 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 五、發明說明(
String version = ”x” 在此字串中,’’version”為變數名稱,其表明包含於安 裝檔案304當中的檔案版本為”x”,其中”x”可為任何字串 或字元。因此,在第3圖所描繪的範例中,用於安裝檔案 304之program.class中的字串為:
String version = ’’V1.4” 此字串列在program.class檔案中的位置並不重要。 當然,供安裝檔案3 04使用且含有版本號碼的檔案名 稱可由安裝工具套件發展者所想要的任何名稱來給定。兩 個安裝工具套件之版本比對的另一種方法可取得各檔案 的版本,並可比對fix .class檔案中修補檔的版本,且各檔 案是以各自獨立的方式加以更新。 若安裝檔案3 0 4含有較新的版本,則該等檔案將會在 目錄302當中被刪除,並且不會進行進一步的動作。在另 一種情況下,若安裝檔案304不含較新版本的安裝工具套 件樓案’即如第3圖所示’其中安裝檔案3〇4的版本為 VI .4’而修補檔所包含的安裝工具套件版本為vi ·5,則修 補檔將fix.class中的安裝工具套件檔案解壓縮至目錄 302(步驟M4),並以新版的檔案覆寫位於目錄3〇2當中的 安裝工具套件檔案’藉以更新安裝檔案3〇4(步驟M5)。而 後,目錄302當中已更新的檔案將會結合且壓縮33〇成— 個新的安裝檔案3 0 8,並覆寫先前的安裝檔案3 4。然後 位於目錄302當中的樓案將會被刪除’藉以清理電腦的目 錄結構而釋放空間’此時電腦除了擁有已更新的 第10頁 -----------·裝--------訂--------- (請先M·讀背面之注意事項再填寫本頁) 1221582 A7 B7 五、發明說明( installer.class 308之外,使其回復到原始狀能。 在較佳實施例中,更新修補程式31〇可更\任何版本 數的安裝樓案304’而不論安裝器的版本號碼為何或安裝 樓案304所要安裝的平台為何。同—個Πχ〇_3ι〇可更 新兩種不同的安裝器而不需使用中介的修補構。因此,同 一個更新修補程式310可將V;L1版更新為”,5版一,並將 安裝器版本VI .3更新為V1.5。再者,在上述過程中,不 需要利用一個fix.class檔案來將安裝器更新為中介的版 本’例如從Vi.i版更新為V1.4版,而後再利用第二個 f1X.class檔案將安裝器的中介版本更新為最終版本,例如 從V 1 · 4版更新為V 1. 5版。 以上所討論的命令列引數之”_norun,’旗標是取消在完 成更新之後執行安裝檔案3 0 8。在另一種可供選擇的情況 下,”-run1’旗標可取代’’-norun”旗標,以便在完成更新之後 執行安裝檔案3 08。 以上所討論的命令列引數之[i n s t a 11 · c 1 a s s · ·.]旗標可 包含多個安裝器檔案的目錄檔案路徑及名稱。因此,修補 檔3 1 0可在電腦中更新許多不同的安裝檔案。 除以上所給定之範例中的命令列之外,亦可利用其它 方法來執行修補檔3 1 0。 雖然在此描述的内容主要是參照j a v a安裝工具套 件’但本發明亦可應用於其它程式語言,例如C及C + +語 言。再者,雖然在此描述的内容主要是參照更新安裝器的 安裝工具套件部分,但本發明亦可實施用以更新應用程式 第11頁 參紙張尺度適用中國國家標準(CNS)a4規格(210 X 297公釐) {請先βδ·讀背面之注意事項再填寫本頁) |裝 -- ---訂----- 華· 經濟部智慧財產局員工消費合作社印製 1221582 A7
經濟部智慧財產局員工消費合作社印製 五、發明說明() 檔案以及安裝器當中的安裝檔案。在此種情沉下,更新程 式將不僅包括已更新的安裝工具套件檔案而已,其尚且包 含已更新的應用程式碼及資料檔案。本發明亦可用於更新 任何檔案組合’以反映已更新的版本。 應注意的是’雖然在此描述的内容主要是參照將安裝 器更新為較新版本的安裝器,但本發明亦可應用於將安裝 器或其它檔案組合更新為正確的版本,而不是最近或較新 的版本。去·裝益樓案的正確版本可能比將要被更新之安裝 益的版本舊。舉例而言,一個安裝器可能包含較新版的安 裝器檐案’但其卻無法正確地執行。因此,在此範例中, 更新修補檔將會其較舊但正確的檔案覆寫於安裝器中,以 使安裝器擁有正確的安裝器檔案組。 現在請參照第4圖,其根據本發明描繪將安裝檔案更 新為已更新之安裝工具套件檔案的方法範例的流程圖。一 旦含有已更新之檔案的修補檔,例如第3圖中的更新修補 程式3 1 0 ,被使用者接收到之後,該使用者即執行該修補 權。開始時,即將被更新的目的安裝器,例如第3圖中的 安裝檔案304,會被解壓縮而解開安裝檔案,並將該等權 案放置在空白目錄(步驟402)。而後,修補檔判斷目的安 裝森版本的修補版本是否含有較新版的安裝器工具套件 (步驟404)。修補檔可藉由檢查單一檔案來執行比對,例 如檢查以上所描述的program.class。 若目的安裝器含有相同或較新的版本,則修補檔將不 會更動經過解壓縮的標案,同時判斷使用者是否要求執行 第12頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公f ) --------.—--------^--------- (請先Μ·讀背面之注意事項再填寫本頁) 1221582 A7
1221582 A7 B7 、硬碟 五、發明說明( 輸型媒體,其中可記錄型媒體的實例包括軟碟機,% % 機、隨機存取記憶體(RAM)、CD-ROM、數位影音光碟機 (DVD-ROM),傳輸型媒體的實例包括數位及類比式通訊連 線,以及利用傳輸形式的有線或無線通訊連線,例如無線 電頻率及光波傳輸。電腦可讀取媒體可為編碼的格式,其 在特定資料處理系統的實際應用中需經過解碼。 本發明已經過詳細說明,其並非以所揭露的形式特意 限定本發明。凡熟習此項技藝之人士當可輕易領會本發明 變更。所敎及描述的實施例是為了以最佳方式解 之原理及實際應用’並使熟…技藝之人士能 瞭解本發明適用於特定用途而預期的各種不同實施例 足變更。 I ^ a --------,—·裝--------訂---------AW. (請先M·讀背面之注意ί項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 適 度 尺 張 紙1¾ W 4 M1 餐 i公 97 2 X 10 一.(2 格 一規 A4 S) N (C 準 標 家 國 I國

Claims (1)

1221582 A8 B8 C8 D8 六、申請專利範圍 1. 一種更新程式碼的方法,該方法至少包含: (請先閱讀背面之注意事項再填寫本頁) 為一程式之複數版本提供更新,其中該程式係藉由 一安裝器程式加以更新,且存在該安裝器程式之複數版 本; 判嘶該安裝器程式之一版本是否相對於該更新為不 正確的; 回應於該安裝器程式之不正確的版本,由該更新中 的檔案更新該安裝器程式;以及 以已更新的安裝器程式來安裝該程式中的更新。 2. 如申請專利範圍第1項所述之方法,其中上述之安裝器 之版本較該更新為舊之判斷係表示該安裝器程式的版 本不正確。 3 .如申請專利範圍第1項所述之方法,其中上述之安裝器 之版本較該更新為新之判斷係表示該安裝器程式的版 本不正確。 經濟部智慧財產局員工消費合作社印製 4.如申請專利範圍第1項所述之方法,其中上述之安裝器 之版本係由該安裝器程式所包含之複數檔案中之一單 一檔案來決定。 第15頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) U21582 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 D8 、申請專利範圍 5 ·如申請專利範圍第1項所述之方法,其中上述之更新步 驟包含: 從該安裳器程式將安裝器檐案解壓縮至一目綠· 從該安裝器程式將該更新所解壓縮出之對應已 尺新 的檔案覆寫於所選定的檔案;及 將該等已更新的檔案及剩餘的安裝器檔案封裝為— 已更新的安裝器程式。 6·如申請專利範圍第5項所述之方法,其中上述之封裝步 驟包含將該等已更新的樓案及該等剩餘的安裝器檔案 壓縮而產生一已更新的安裝器程式。 7 ·如申請專利範圍第1項所述之方法,其中上述之安裝器 程式包含一安裝工具套件,且該更新包含該安裝工具套 件之一更新。 8 ·如申請專利範圍第1項所述之方法,其中上述之安裝器 程式及該更新係以物件導向程式語言撰寫。 9 ·如申請專利範圍第1項所述之方法,其中上述之安裝器 程式包含一 java安裝工具套件,且該更新包含該java 安裝工具套件之一更新。 第16頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ^-----------訂---------^· Γ 请先閱讀背面之注意事項再填寫本頁) 1221582 A8 B8 C8 D8
六、申請專利範圍 io. —種電腦可讀取媒體中 a 中〈電腦程式產品,其使用於更新 式碼之資料處理系統中,該電腦程式產品至少包含: 第-指♦,該等第—指令將一更新提供給一程式之 =版本’其中該程式係藉由一安裝器程式加以更新, 且存在孩安裝器程式之複數版本; 第二指令’該等第二指令判斷該安裝器程式之一版 本疋否相對於該更新為不正確的; 第三指令,該等第三指令回應於該安裝器程式之不 正確的版本,由該更新中的檔案更新該安裝器程式;及 第四指該等第四指令以已更新的安裝器程式來 安裝孩程式中的更新。 (請先閣讀背面之注意事項再填寫本頁) 11 ·如申叫專利範圍第丨0項所述之電腦程式產品,其中上 述(安裝器之版本較該更新為舊之判斷係表示 器程式的版本不正確。 經 濟 部 智慧 財 產 局員 工 消 費 合 作 社 印 製 12. 如申請專利範圍第10項所述之電腦程式產品,其中上 述之安裝器之I本較該更新為_之判斷係纟巾該 器程式的版本不正確。 13. 如申請專利範圍第1〇項所述之電腦程式產其中上 述之安裝器之版本係由該安裝器程式所包含之 案中之一單一檔案來決定。 备 第17頁 本紙張尺度適用令國國家標準(CNS)A4規格(2〗〇 X 297公釐) --------訂---------線一 1221582 A8 B8 C8 D8 六、申請專利範圍 1 4.如申請專利範圍第1 0項所述之電腦程式產品,其中上 述之第三指令包含: 第五指令,該等第五指令從該安裝器程式將安裝器 檔案解壓縮至一目錄; 第六指令,該等第六指令從該安裝器程式將該更新 所解壓縮出之對應已更新的檔案覆寫於所選定的檔 案;及 第七指令,該等第七指令將該等已更新的檔案及剩 餘的安裝器檔案封裝為一已更新的安裝器程式。 15.如申請專利範圍第14項所述之電腦程式產品,其中上 述之第七指令包含將該等已更新的檔案及該等剩餘的 安裝器檔案壓縮而產生一已更新的安裝器程式。 1 6.如申請專利範圍第1 0項所述之電腦程式產品,其中上 述之安裝器程式包含一安裝工具套件,且該更新包含該 安裝工具套件之一更新。 1 7.如申請專利範圍第1 〇項所述之電腦程式產品,其中上 述之安裝器程式及該更新係以物件導向程式語言撰 寫。 1 8.如申請專利範圍第1 0項所述之電腦程式產品,其中上 述之安裝器程式包含一 java安裝工具套件,且該更新包 第18頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------;—--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 1221582 A8 B8 C8 D8 六、申請專利範圍 含該java安裝工具套件之一更新。 (請先閲讀背面之注意事項再填寫本頁) 1 9 · 一種用於更新程式碼之系統,該系統至少包含: 第一裝置,其用於將一更新提供給一程式之複數版 本,其中該程式係藉由一安裝器程式加以更新,且存在 該安裝器程式之複數版本; 第二裝置,其用於判斷該安裝器程式之一版本是否 相對於該更新為不正確的; 第三裝置,其用於回應該安裝器程式之不正確的版 本,而由該更新中的檔案更新該安裝器程式;及 第四裝置,其用於以已更新的安裝器程式來安裝該 程式中的更新。 20·如申請專利範圍第19項所述之系統,其中上述之安裝 器之版本較該更新為舊之判斷係表示該安裝器程式的 版本不正確。 2 1 ·如申請專利範圍第1 9項所述之系統,其中上述之安裝 經濟部智慧財產局員工消費合作社印製 器之版本較該更新為新之判斷係表示該安裝器程式的 版本不正確。 22.如申請專利範圍第1 9項所述之系統,其中上述之安裝 器之版本係由該安裝器程式所包含之複數檔案中之一 單一檔案來決定。 第19頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1221582 六 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 D8 、申請專利範圍 23 ·如申請專利範圍第1 9項所述之系統,並 τ上述之第= 指令包含: 弟一 第五裝置,其用於從該安裝器程式將安裝时 壓縮至一目錄; 第六裝置,其用於從該安裝器程式將該 义新所解壓 縮出之對應已更新的檔案覆寫於所選定的樓案. 及 弟七裝置’其用於將該等已更新的檔案及剩餘的A 裝器檔案封裝為一已更新的安裝器程式。 24·如申請專利範圍第23項所述之系統,其中上述之第七 裝置包含將該等已更新的檔案及該等剩餘的安裝器才# 案壓縮而產生一已更新的安裝器程式。 2 5·如申請專利範圍第19項所述之系統,其中上述之安裝 器程式包含一安裝工具套件,且該更新包含該安裝工具 套件之一更新。 2 6.如申請專利範圍第19項所述之系統,其中上述之安裝 器程式及該更新係以物件導向程式語言撰寫。 27.如申請專利範圍第19項所述之系統,其中上述之安裝 器程式包含一 java安裝工具套件,JL該更新包含該jaVa 安裝工具套件之一更新。 第20頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ;-----------訂---------線 (請先閲讀背面之注意事項再填寫本頁) 1221582 A8 B8 C8 D8 六、申請專利範圍 2 8 · —種在資料處理系統中用於更新程式碼的方法,該方法 至少包含: 接收一程式之更新檔案,其中該更新檔案包含一用 以更新該程式之安裝器,且存在該安裝器之複數版本; 判斷該安裝器是否為該程式之現存安裝器的較新版 本; 回應於該安裝器為該現存安裝器之一新版,更新該 現存安裝器而產生一已更新的安裝器;及 利用該已更新的安裝器,將該更新檔案中的程式碼 安裝於該程式。 29.如申請專利範圍第28項所述之方法·,其中上述之安裝 步驟包含從該已更新的安裝器將檔案解壓縮,並將該等 檔案覆寫於從該現存安裝器所解壓縮出的舊檔案而產 生已更新的樓案,以及將該等已更新的檔案重新封裝為 該已更新的安裝器。 ^ --------^ · I,------- (請先閲讀背面之注意事項再填寫本頁) 述 所 項 8 2 第 圍 範 利 專 請 申 如 ο 經濟部智慧財產局員工消費合作社印製 該 。 、 碼 器式 裝程 安向 該導 、 件 式物 程含 該包 、 器 案裝 檔安 新的 更新 之 更 述已 上該 中及 其器 , 裝 法安 方存 之現 範 利碼 專式 請程t向 如導 為 件 物 之 述 上 中 其 法 方 之 述 所 項 ο 3 Ο 第 a V 圍 a T 1 2 第 釐 公 97 2 X 10 2 /V 格 規 A4 S)A N (C 準 標 家 國 中 用 適 度 尺 張 紙 本 經濟部智慧財產局員工消費合作社印製 1221582 A8 B8 C8 -- - D8 _ #六、申請專利範圍 32·—種電腦可讀取媒體中之電腦程式產品,其使用於更新 程式碼之資料處理系統中,該電腦程式產品至少包含: 第一指令’該等第一指令接收一程式之更新樓案, 其中該更新檔案包含一用以更新該程式之安裝器,且存 在該安裝器之複數版本; 第二指令,該等第二指令判斷該安裝器是否為該程 式之現存安裝器的較新版本; 第三指令,該等第三指令回應於該安裝器為該現存 安裝器之一新版,更新該現存安裝器而產生一已更新的 安裝器;及 第四指令,該等第四指令利用該已更新的安裝器, 將該更新檔案中的程式碼安裝於該程式。 33·如申請專利範圍第32項所述之電腦程式產品,其中上 述之第三指令包含從該已更新的安裝器將檔案解壓 縮,並將該等檔案覆窝於從該現存安裝器所解壓縮出的 舊檔案而產生已更新的檔案,以及將該等已更新的檔案 封裝為該已更新的安裝器。 34·如申請專利範圍第32項所述之電腦程式產品,其中上 述之更新檔案、該程式、該安裝器、該現存安裝器及該 已更新的安裝器包含物件導向程式碼。 第22頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公 (請先閲讀背面之注意事項再填寫本頁) 訂---------線I A8 B8 C8 D8
1221582 六、申請專利範圍 3 5·如申請專利範圍第34項所述之電腦程式產品,其中上 述之物件導向程式碼為java。 3 6·—種用於更新程式碼之系統,該系統至少包含: 第一裝置,其用於接收一程式之更新檔案,其中該 更新槽案包含一用以更新該程式之安裝器,且存在該安 裝器之複數版本; 第二裝置,其用於判斷該安裝器是否為該程式之現 存安裝器的較新版本; 第三裝置,其用於回應於該安裝器為該現存安裝器 之一新版’更新該現存安裝器而產生一已更新的安裝 器;及 第四裝置,其用於利用該已更新的安裝器,將該更 新檔案中的程式碼安裝於該程式。 3 7.如申請專利範圍第3 6項所述之系統,其中上述之第三 裝置包含從該已更新的安裝器將檔案解壓縮,並將該等 檔案覆寫於從該現存安裝器所解壓縮出的舊檔案而產 生已更新的檔案,以及將該等已更新的檔案重新封裝為 該已更新的安裝器。 3 8 ·如申請專利範圍第3 6項所述之系統,其中上述之更新 檔案、該程式、該安裝器、該現存安裝器及該已更新的 安裝器包含物件導向程式碼。 第23頁 本紙張尺度適用中國國家標準(CNS)A4規格(2扔x 297公釐) ^ ---------^-----------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 1221582 A8 B8 C8 D8 六、申請專利範圍 3 9.如申請專利範圍第3 8項所述之系統,其中上述之物件 導向程式碼為java。 (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 第24頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐〉
TW090108706A 2000-05-25 2001-04-11 Method of applying an update to a contained collection of program and data files based upon versions TWI221582B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/578,750 US6912711B1 (en) 2000-05-25 2000-05-25 Method of applying an update to a contained collection of program and data files based upon versions

Publications (1)

Publication Number Publication Date
TWI221582B true TWI221582B (en) 2004-10-01

Family

ID=24314154

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090108706A TWI221582B (en) 2000-05-25 2001-04-11 Method of applying an update to a contained collection of program and data files based upon versions

Country Status (3)

Country Link
US (1) US6912711B1 (zh)
CN (1) CN1168001C (zh)
TW (1) TWI221582B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI416410B (zh) * 2008-04-11 2013-11-21 Hon Hai Prec Ind Co Ltd 可執行文件版本更新系統及方法
TWI485568B (zh) * 2012-09-19 2015-05-21 Heimavista Inc 資訊交換系統及其交換方法
TWI712956B (zh) * 2016-03-15 2020-12-11 開曼群島商創新先進技術有限公司 行動終端應用程式的更新方法和裝置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
CN100426226C (zh) * 2002-08-16 2008-10-15 中兴通讯股份有限公司 单板版本自动装载方法
US7814476B2 (en) * 2002-10-31 2010-10-12 Oracle America, Inc. Systems and methods for updating software
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
US20050066324A1 (en) * 2003-09-22 2005-03-24 Microsoft Corporation Method and system for distributing and installing software
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7562357B2 (en) * 2004-03-08 2009-07-14 Microsoft Corporation Relational database schema version management
US7853609B2 (en) * 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
US7676448B2 (en) 2004-03-12 2010-03-09 Microsoft Corporation Controlling installation update behaviors on a client computer
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
CN100356320C (zh) * 2004-12-20 2007-12-19 上海贝尔阿尔卡特股份有限公司 用于选择多版本软件的方法和选择设备
WO2007039907A2 (en) * 2005-10-06 2007-04-12 Red Bend Ltd. Methods and systems for updating content including a compressed version
US8869142B2 (en) * 2006-01-27 2014-10-21 Microsoft Corporation Secure content publishing and distribution
US7676565B2 (en) * 2006-01-27 2010-03-09 Microsoft Corporation Light weight software and hardware inventory
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
TW200737002A (en) * 2006-03-30 2007-10-01 Xgi Technology Inc Method for realizing dynamic removing of graphic display device on computer and computer-readable recording medium
CN100442230C (zh) * 2006-08-04 2008-12-10 华为技术有限公司 软件多版本升级的方法及系统
US8620817B2 (en) * 2006-09-14 2013-12-31 Flexera Software, Inc. Method and system for creating license management in software applications
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템
CN101859250A (zh) * 2009-04-07 2010-10-13 盛趣信息技术(上海)有限公司 网络游戏客户端系统
JP5526668B2 (ja) * 2009-09-09 2014-06-18 株式会社リコー パッケージのインストール対象装置、インストール方法、プログラム
US9417865B2 (en) * 2010-05-28 2016-08-16 Red Hat, Inc. Determining when to update a package manager software
US8589363B2 (en) * 2011-07-19 2013-11-19 Exagrid Systems, Inc. Systems and methods for managing delta version chains
CN102955702B (zh) * 2011-08-23 2016-08-10 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
ITVI20120034A1 (it) * 2012-02-09 2013-08-10 Bentel Security S R L Dispositivo e metodo per la gestione di installazioni elettroniche di edifici
AU2013397867B2 (en) 2013-08-13 2017-05-18 Huawei Technologies Co., Ltd. Application upgrade method and device
JP2015207145A (ja) * 2014-04-21 2015-11-19 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および差分情報生成装置
US9483248B2 (en) * 2014-07-15 2016-11-01 Oracle International Corporation Automatic generation and execution of server update processes
US10162619B1 (en) 2016-02-16 2018-12-25 Amazon Technologies, Inc. Fleet-wide management of software packages

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203573A (en) 1987-04-02 1988-10-19 Ibm Data processing network with upgrading of files
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5951639A (en) 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6427227B1 (en) * 1999-03-03 2002-07-30 Microsoft Corporation System, method, and computer-readable medium for repairing an application program that has been patched
US6477703B1 (en) * 1999-06-29 2002-11-05 Hewlett-Packard Company Software patch selection tool

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI416410B (zh) * 2008-04-11 2013-11-21 Hon Hai Prec Ind Co Ltd 可執行文件版本更新系統及方法
TWI485568B (zh) * 2012-09-19 2015-05-21 Heimavista Inc 資訊交換系統及其交換方法
TWI712956B (zh) * 2016-03-15 2020-12-11 開曼群島商創新先進技術有限公司 行動終端應用程式的更新方法和裝置

Also Published As

Publication number Publication date
CN1168001C (zh) 2004-09-22
US6912711B1 (en) 2005-06-28
CN1326135A (zh) 2001-12-12

Similar Documents

Publication Publication Date Title
TWI221582B (en) Method of applying an update to a contained collection of program and data files based upon versions
US8136100B1 (en) Software installation and icon management support
JP4199923B2 (ja) モバイル・デバイスのアプリケーション・インストール方法
US20130047150A1 (en) Software installation and process management support
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US8191060B2 (en) Software installation using template executables
JP5663006B2 (ja) ランタイム環境を構築するためのシステムおよび方法
US6898788B2 (en) System for modifying the functionality of compiled computer code at run-time
US8171470B2 (en) Software installation and support
US8464249B1 (en) Software installation package with digital signatures
US9411571B2 (en) Method and apparatus for deploying software as a service
EP1672489A2 (en) Language-Neutral And Language-Specific Installation Packages For Software Setup
US20130167136A1 (en) Component-based installation
US8387032B1 (en) Captive runtime deployment
JP2013544416A (ja) プリヒート型ソフトウェアインストレーション
US8312445B2 (en) User-specified install locations
TW515996B (en) Method and system for transferring an application program from system firmware to a storage device
US7743020B2 (en) Automatic instance data mapping generation
JP2005208895A (ja) 情報処理装置及びその制御方法及びそのプログラムと記憶媒体
US6795965B1 (en) Multi-source program module updater
US10514940B2 (en) Virtual application package reconstruction
US20010056441A1 (en) Method for providing precise cumulative updates and fixes to a software product
US11023216B2 (en) Storage medium, information processing apparatus, and control method
JP2009187557A (ja) 情報処理システム及びその制御方法及びサーバ装置とその制御プログラム