這可能是一個很愚蠢的問題,但是當我被問到一些更簡單的問題時,我沒有太多的答案...爲什麼程序安裝過程?
爲什麼大多數程序都是通過幾個步驟和改變什麼?我們有可以從一個自包含的可執行文件直接運行的程序,但是很大一部分程序不能。爲什麼是這樣?是否由於程序需要將所有內容包含在內而以指數級增長?如果是這樣的話,從零開始設計一個操作系統非常難以完全模塊化。擁有一套帶有標準模塊集的操作系統,可以從任何「獨立程序」中訪問和使用,無需冗長的安裝。
謝謝 David Kirsch。
這可能是一個很愚蠢的問題,但是當我被問到一些更簡單的問題時,我沒有太多的答案...爲什麼程序安裝過程?
爲什麼大多數程序都是通過幾個步驟和改變什麼?我們有可以從一個自包含的可執行文件直接運行的程序,但是很大一部分程序不能。爲什麼是這樣?是否由於程序需要將所有內容包含在內而以指數級增長?如果是這樣的話,從零開始設計一個操作系統非常難以完全模塊化。擁有一套帶有標準模塊集的操作系統,可以從任何「獨立程序」中訪問和使用,無需冗長的安裝。
謝謝 David Kirsch。
這真的是一個問題,你的程序有多複雜。許多Windows程序都依賴於Visual Studio C++,.Net,Java等運行時,這些運行時並非由基板操作系統提供。這意味着您的程序必須已經在系統上運行。
如果缺少這些先決條件,那麼你的程序甚至不會加載,所以你甚至不能讓你的程序檢查它們並告訴用戶去獲取它們。這是安裝程序進來的地方,因爲它通常沒有任何先決條件,但能夠嗅出你的程序需要的東西,並且可以告訴你去獲取它們,或者嘗試爲你安裝它們。
許多程序還需要一些邏輯以及物理的安裝工作來完成部署。這可能意味着註冊表更改(如COM註冊),更改IIS(設置Web應用程序和虛擬目錄)或更改服務控制管理器(設置Windows服務)。
簡而言之,除非您的程序非常獨立並且沒有外部依賴性,否則安裝程序是將您的應用程序安裝到桌面上的唯一方法。
這些存在 - 它們被稱爲OS API。 – Oded 2011-04-26 20:47:22