軟曾宣布Windows 10將引入一種全新的安裝包格式“MSIX”,它可以被看成現有MSI的升級版,幾乎支持所有程序格式。到底是新技術還是舊酒裝個新瓶子,就讓我們來一睹究竟。
追根溯源,了解MSIX的前世今生
大家知道從Windows 8引入Windows商店開始,在Windows系統中軟件就分為兩大類,一類是傳統的.exe文件系統稱之為“程序”( Program Files),一般裝在C:\Program Files下;另一類則稱之為“應用”(Application),大多安裝在C:\Program Files\WindowsApps下(圖1)。
圖1 Windows 10應用安裝位置
對于傳統的標準EXE程序,默認使用的是MSI封裝格式,MSI是Microsoft Installer的簡寫,是微軟格式的安裝包,Windows 10應用則使用APPX格式封裝。這樣開發者為Windows 10系統開發應用是就常常需要為應用兩種獨立封裝格式,為了簡化開發者的封裝工作,微軟引入了全新的安裝包格式MSIX(=MSI+APPX),這就是MSIX的來由(圖2)。
圖2 MSIX格式
組合格式的背后,MSIX封裝解析
如上所述MSIX=MSI+APPX,微軟推出這種格式的目的是為了簡化開發者的封裝工作。那么MSIX是怎么實現這個功能的呢?
首先我們來了解一下MSI封裝格式,MSI文件是Windows Installer的數據包,從本質上將它實際上是一個數據庫,其中包含一個程序所需要的信息和在很多安裝情形下安裝(和卸載)程序所需的指令和數據。它將單純的程序文件和功能封裝在一起,并且包含有關安裝過程信息,比如安裝路徑,系統運行庫文件,安裝選項等信息。這樣使用標準MSI格式封裝的程序,我們在安裝的時候可以記錄各種詳細的信息,卸載的時候則可以根據這些信息將程序完全卸載,即使安裝過程中出現錯誤,我們同樣可以借助這些想信息恢復到安全前狀態。因此很多大公司開發的軟件都使用MSI格式進行封裝(圖3)。
圖3 MSI格式
APPX則是Windows 8之后新增的一種應用格式,其實質一個準備好分配和安裝的應用程序包。將安裝包上傳到Windows商店后,在出售之前,商店會運行安全性和遵從性測試,確保用戶從應用商店下載的都是安全性的應用。但是由于目前CPU架構有ARM、x86、x64之分,因此Appx主要有.appx(非通用安裝包,在ARM、x86、x64設備上需要不同的安裝包)、.appxbundle(同一應用的APPX打包,將不同平臺需要的APPX壓縮在一起)、.appxsym(UWP符號文件)、.appxupload(開發者向商店上傳應用用的文件)四種格式(圖4)。
圖4 .appxbundle文件
Windows 10應用商店是微軟目前全力推廣的應用安裝方式,為了實現全平臺(ARM、x86、x64)兼容,微軟在MWC 2015上首次推出Win10通用應用(Windows10 Universal App),它構建了一整套可以在各種Windows平臺上使用的通用而現代的跨語言API,再加上良好的文檔和應用商店體系。實現了開發者的一份代碼幾乎完全不用改動,只用在生成安裝包的時候勾選幾個選項就可以實現應用的跨平臺安裝(圖5)。
圖5 應用商店的UWP應用
對于應用,UWP解決跨平臺封裝難題。不過從上面的介紹可以知道,UWP(APPX封裝)和MSI是兩種完全不同的封裝格式,它們分別對應微軟全力推廣的應用和目前最為普及的EXE程序。如何讓這兩者在整合在一起?MSIX應運而生,它匯集了APP應用程序和MSI文件封裝格式的功能。全新的MSIX安裝器將支持所有的Windows文件格式,包括Win32、WPF、WinForm和UWP。這樣開發者只要遵循MSIX封裝協議,將開發的應用程序封裝為.MSIX格式后發布到Windows 10應用商店,用戶下載后就可以根據自己實際需要自行選擇安裝方式(圖6)。
圖6 MSIX通用格式
比如很多習慣Windows 7用戶喜歡運行EXE文件,這種類型的程序功能更全面,擴展功能更豐富;但是很多平板用戶則更喜歡APPX應用,這種應用界面清爽,操作簡單。以后我們只要從應用商店下載安裝自己喜歡的應用即可,而不是像現在EXE程序要到華軍這些網站下載,應用則要到商店下載。
MSIX,將帶給我們安全和便利
如上所述,傳統EXE文件功能強大,但是大家也知道很多惡意軟件,病毒也都是使用這種格式開發的。平時我們電腦的病毒、木馬大多是EXE文件帶來的,傳統程序在帶來便利的同時也給我們帶來極大的安全隱患。
應用相對EXE程序來說安全性就提高了許多,這是因為一方面應用的開發需要打包證書(這樣通過證書就很容追溯到惡意應用的開發者),另一方面應用安裝包在上傳到商店后需要通過微軟的審核,運行安全性和遵從性測試,徹底杜絕惡意軟件的入駐。因此從商店下載的MSIX文件可以給用戶帶來前所唯有的安全性。當然二合一方式的封裝也便于用戶自行選擇安裝方式,給開發者同樣帶來極大的便利。而且微軟會將MSIX文件格式進行開源化,期待MSIX文件普及早些到來。
除了你的個人文件和文件夾,計算機中還包含Windows本身創建的大量數據,這會占用大量空間。如果稍加努力并進行搜索,你將找到足夠數量的不影響系統性能的臨時文件。
但是,除非絕對必要,否則你不應更改其他文件和文件夾。刪除該數據可能導致系統不穩定、文件丟失以及其他無法預料的后果。下面這6個你絕不應該觸摸的默認Windows 10文件夾,一定要注意了。
位置: C:\Program Files, C:\Program Files (x86)
每當通過運行setup.exe文件安裝應用程序時,安裝程?序都會在Program Files文件夾中創建一個目錄,將值添加到注冊表中,并執行其他必要的任務以使其正常運行。因此,如果查看Program Files文件夾,將可以找到計算機上安裝的大多數程序的目錄。
除極少數情況外,切勿觸摸這些目錄中的程序數據。它們包含程序運行所需的配置信息。如果更改了某些內容,則可能會損害文件的完整性,這將導致需要重新安裝該應用程序。
如果要正確卸載程序,則應使用設置菜單的“應用和功能”。它只會從Program Files文件夾中刪除應用程序目錄,不會從系統中刪除指向該應用程序目錄的其他鏈接,也不會刪除其他目錄和注冊表中的其余文件。
如果使用的是32位版本的Windows,則只能安裝32位應用程序,并且磁盤上只有一個Program Files文件夾。在Windows的64位版本上,還有另一個Program Files(x86)文件夾。它安裝32位程序,而64位程序存儲在常規Program Files文件夾中。
位置: C:\Windows\System32
幾乎所有系統數據都存儲在C:\Windows\文件夾中,但是System32目錄值得特別注意。它包含數百個DLL文件以及許多程序,這些文件對于系統正常運行至關重要。
例如,可以找到負責計算機上聲音操作的服務,正確引導Windows所需的文件,負責正確顯示字體的資源等等。此文件夾還包含標準Windows程序的可執行文件。例如,calc.exe可讓你啟動計算器,而cmd.exe可讓你啟動Windows指令行。
顯然,由于此文件夾對于Windows操作至關重要,因此不顧后果地修改其中的文件可能會使整個系統癱瘓。
位置:C:\pagefile.sys
計算機內部的內存負責臨時存儲所有正在運行的應用程序的數據。例如,當你打開Word時,程序本身和必要的數據將放置在內存中。這就是為什么存在大量內存可以讓你輕松地同時在許多程序中工作的原因。
如果物理內存已滿,Windows將開始使用頁面文件。這是磁盤的專用部分,其作用類似于內存。如果你的計算機安裝了足夠的內存,則你不太可能看到頁面文件大小如何增加。但是,使用此文件會降低設備的性能,因為內部存儲比內存慢。
如果檢查此文件的大小,可能會看到幾GB的大小。當然,你可以禁用分頁文件的使用以釋放空間,但這不是一個好主意。沒有分頁文件,當內存填滿時,程序可能會停止運行,因為它們無法訪問額外的內存。
Windows允許你根據需要手動管理虛擬內存,但大多數用戶應允許操作系統自行執行此操作。如果你在使用少量內存時遇到問題,那么最好的解決方案是購買一個內存條添加上。
位置:C:\System Volume Information
另一個大文件夾(目的不是很明顯)是系統卷信息。實際上,它包含一些Windows功能的正確操作所需的文件。在大多數情況下,當你嘗試打開此目錄時,Windows只會顯示警告:“訪問被拒絕”。
該目錄包含備份文件和系統還原點,可用于將不需要的更改回滾到系統。當然,你可以減小此文件夾的大小或完全關閉“系統還原”。為此,請在任務欄“搜索”框中搜索“創建還原點”,然后按Enter。在出現的窗口中,單擊“配置”按鈕,然后指定所需的參數。
除了系統還原點,“系統卷信息”目錄還包含文件索引數據。沒有它們,系統中的搜索可能會非常緩慢。另外,此文件夾用于卷影復制服務,該服務負責備份。
與其他重要文件夾一樣,你不應更改此文件夾的內容。不要嘗試強制訪問以刪除文件-Windows需要此數據才能正常運行,并且普通用戶沒有理由更改它。
位置:C:\Windows\WinSxS
WinSxS文件夾表示Windows Side By Side(并排),創建它是為了解決與不同版本的Windows兼容的問題。口語術語DLL Hell(Hell DLL)是動態連接的dll(dll)發生沖突、重復或中斷時的最佳用語。
為了解決這些問題,微軟開始使用WinSxS文件夾收集許多DLL的多個版本,并在需要它們來運行特定程序時按需下載它們。例如,當程序需要訪問Windows不再包含的DLL的過時版本時,這可以提高兼容性。
使用Windows的時間越長,此文件夾就變得越大。你可能已經猜到了,刪除此目錄中的文件是個壞主意。你不應直接修改其中的文件,而應使用“磁盤清理”工具或系統設置的“系統--存儲”部分。
位置:C:\ Users \ [用戶名] \ AppData \ Local
最后介紹的這個文件夾對于操作系統任務的重要性不如上述其他目錄重要,但許多用戶可能仍對它的用途感到疑惑。D3DSCache是??一個目錄,其中包含Microsoft Direct3D API的緩存信息。
它是DirectX的一部分,用于在游戲和其他應用程序中顯示圖形。通常情況下,不應修改此文件夾中的文件,尤其是因為它們僅占用幾兆字節。但是,如果你在游戲中遇到問題,那么清除此緩存可能是一個不錯的解決方案。但是,不要盲目刪除文件。
Windows隱藏了很多文件夾,并且有很多原因。普通用戶沒有理由直接修改這些目錄的內容,因為Windows提供了多種工具來管理這些文件而不會直接損害系統。
如果你在計算機上發現一個奇怪的隱藏文件夾,請不要急于刪除它。首先,在Internet上找到有關它的信息,以免損害計算機的性能。另外,請不要忘記定期備份,以免出現問題時可以恢復丟失的數據。
更多windows 10操作系統使用技巧,請關注→→#win10玩機技巧#
想了解更多精彩內容,快來關注 @微課傳媒
1.頭條號【微課傳媒】專注軟件分享,如果你喜歡玩軟件,歡迎關注、評論、收藏、轉發。
2.在學習中有什么問題,歡迎與我溝通交流,號搜索【微課傳媒】,我在這里等你喲!