Windows為什麼不能由操作系統來管理程序卸載?

手機上卸載程序都是系統的功能,設置裡面點一下就卸載了。

而對於Windows,即使是到控制面板的程序管理裡面卸載程序,調用的還是程序自己的卸載器。有的程序卸載的時候會用各種引導忽悠你不要卸載,有的程序卸載的時候根本卸載不幹凈,有的程序乾脆就不讓你卸載,給用戶帶來了很大困擾。


如果安裝程序不用windows規定的MSI來寫,那windows怎麼可能知道卸載的時候要幹什麼。


Windows 放出了大部分許可權,給出的僅僅是規範,而不是強制要求


手機應用都是封在一個「盒子」裡面的,幾乎與該程序有關的內容只能放在這個盒子裡面,而PC上的應用「盒子」只是規範,並不是強制要求。


To 知乎:我這個答案有啥「不宜公開討論的政治內容」了???

軟體的安裝只不過是一個將軟體及其支持組件和配置放在用戶容易訪問的位置而已。一個開放的操作系統是不可能限制軟體如何安裝的。

Android和iOS為了限制軟體行為才強制地限制軟體的安裝模式,但是Root或者越獄之後一樣可以想怎麼安裝軟體怎麼安裝。

在Windows、Mac OS、Linux各種發行版這樣的操作系統中,用戶需要的軟體多種多樣,各自需要的支持組件和配置的存在形式、運行方式都大不相同,不可能在不阻礙用戶使用方便和安全的前提下統一軟體安裝卸載操作。是的,我說的是不可能,不是很困難而是不可能。

所以各大操作系統的處理方式是提供「推薦的」安裝系統,比如Windows Installer,Mac的複製到Applications或者pkg安裝,Linux的各種apt-get、RPM等組件。這些安裝系統都是通過對軟體黑盒化用戶系統,提供有限的介面和操作,使得被安裝軟體可以儘可能簡單地適配儘可能多的用戶系統,提供簡單的卸載支持。

但是因為這樣的安裝系統必然要黑盒化用戶系統,對於一些別有用心的軟體來說是很麻煩的,當然對於一些需求比較特殊的軟體也很麻煩,所以很多軟體還是會採用自己的安裝系統。從操作系統的角度來說,因為不用系統提供的安裝系統的需求切實存在,不能簡單地封殺所有其他方式的安裝(事實上也不可能封殺)。當然,這也給很多惡意軟體留下了很多作惡的餘地。

所以說到底,避免卸載的麻煩最好的辦法就是不要裝。一個善意的軟體為什麼要限制用戶卸載它?買賣不成仁義在,你不喜歡你卸載了,就像我來你家玩你不高興了請我走,一個大度的人道歉一下走人即可,只有居心不良的人才會死活賴在你家不走。這種居心不良的軟體,即便操作系統限制了必須用安裝系統,它也會另尋途徑讓你沒法卸載的。


win8 metro 里的程序是系統管理的


因為windows早期不用sandbox機制。


推薦閱讀:

Windows是如何認定「一台」機器的?
為什麼 Android、iOS 都內置多國語言,而 Windows 還需要額外下載?
為什麼 Windows 上還沒有普及 64 位的軟體?
Linux作為日常操作系統是否比Windows穩定?
為什麼微軟的軟體安裝都如此麻煩?

TAG:MicrosoftWindows | 操作系統 | Windows7 | 卸載 |