共用方式為


Windows Vista

深入剖析新版 Microsoft 應用程式相容性工具組

John Melton

 

摘要:

  • 影響應用程式相容性的變更
  • 評估對於應用程式的影響
  • 管理安全防護與部署

Windows Vista 即將發行,如今正是您開始準備評估、部署與支援此一新作業系統的最佳時機,包括新工具、新功能和新的培訓計劃。當然,您的主要任務是決定如何讓這個重要的 Windows 版本能在現有的環境下發揮作用。

我個人認為首要之務莫過於從整體的應用程式組合開始著手,判斷哪些應用程式能與 Windows Vista™ 一起正常運作。

Windows Vista 有些重大變更可能會影響應用程式相容性。在 Windows Vista 開發階段,確保應用程式相容性是一項重要的考慮因素。透過將數千個應用程式與每個版次進行交互測試,並即時向工程團隊提供有關版次變更對於應用程式之影響的意見反應,降低了開發週期發生相容性問題的機率。

此過程致使大部分的相容性問題縮減至僅涉及少數幾個方面。本文將討論這些方面並提供若干秘訣,以協助您克服在部署過程中可能遇到的障礙。

影響相容性的變更

某些應用程式或許基於合理因素而設計成只在特定的作業系統版本上執行,而這可能造成安裝或程式執行失敗以致根本無從測試應用程式。

幸好,使用 Windows Vista 的程式相容性助理 (PCA) 即可輕鬆解決這類問題。PCA 會在安裝期間自動偵測潛在的相容性問題,然後建議將設定修改為 Windows® XP 相容模式,讓您得以順利安裝再繼續進行測試。

如果應用程式的其他功能均可正常執行,則只需修改應用程式版本檢查,或對桌面應用程式套用修正程式,應用程式的執行就會如在舊版作業系統上執行一樣。

如今的資訊公路與 2001 年 Windows XP 發行時相比已大異其趣。糟糕的是,系統安全性考量當前面臨的陷阱卻與日俱增。Windows Vista 實作了許多新的安全性功能,而這些功能對於應用程式相容性問題的解決會佔有一席之地。

Windows Vista 內建 Microsoft® Windows 資源保護 (WRP) 功能,使應用程式即便試圖寫入受保護的系統檔案和登錄位置也能順暢執行無礙。WRP 會自動建立暫存工作區,並將應用程式工作階段的寫入動作重新導向。這項技術使原本無法在 Windows XP 中執行的應用程式得以在 Windows Vista 中執行,因而相容性遠勝過舊版作業系統。不過,此暫存工作區僅供目前的應用程式工作階段使用,所以在切換工作階段後無法保存任何資料。

Windows Vista 藉由「使用者帳戶控制」(UAC) 實作 Windows XP 中眾所周知的系統管理員和標準使用者。許多公司在使用 Windows 2000 及 Windows XP 實作標準使用者方案時都曾感到相當棘手。而在 Windows Vista 中,Microsoft 提供了更健全的標準使用者體驗,於標準使用者或應用程式執行系統管理員層級的工作時加上適當的提高權限提示。對於應用程式,您必須使用 Microsoft 應用程式相容性工具組和 UAC 評估工具 (稍後詳述),判斷有哪些應用程式若以標準使用者身分執行將可能受到限制,並確保應用程式不會在非必要的情況下試圖執行系統管理員層級的命令。

由於 Internet Explorer® 是多數使用者聯繫網際網路的重要窗口,Microsoft 在 Windows Vista 中採取了一些措施,以降低經由引進 Internet Explorer 受保護模式而遭受攻擊的可能性。Windows Vista 中的 Internet Explorer 基本上會以標準使用者身分執行,從而限制其寫入電腦某些區域的能力,避免將惡意程式或病毒引入系統。您也可以使用 Microsoft 應用程式相容性工具組所附的 Internet Explorer 相容性評估工具 (Internet Explorer Compatibility Evaluator),偵測有哪些內部網路、外部網路或網際網路應用程式可能受限於受保護模式。

創造新作業系統最大的好處就是能夠創新:提供新特性和新功能,以及利用新的硬體技術。然而,此等創新也會致使應用程式相容性面臨一些挑戰。

安全性在 Windows Vista 中扮演著重要角色,而特別值得一提的是防火牆和防毒應用程式採用了更健全的新 API 結構。不過,這些附加功能意味著多數企業亦需將其協力廠商防火牆和防毒軟體升級到新版本。WinLogon/GINA (Graphical Identification and Authentication,圖形識別與驗證) 架構在 Windows Vista 中也已遭汰換,因此您必須檢查原先執行或通過驗證認證的應用程式。

您或許亦應考慮添購更強的最新 64 位元處理器和作業系統。雖然 32 位元應用程式在這類系統上應可正常運作,您仍需確定已有 64 位元驅動程式。請注意 64 位元 Windows Vista 平台並不支援 16 位元應用程式。

評估應用程式的影響

應用程式相容性工具組的設計旨在協助您清查與分析現有的應用程式組合,排定優先順序使其合理化。[圖 1] 列出此工具組的各項元件。[圖 2] 說明此工具組所附個別的相容性評估工具 (Compatibility Evaluator)。

Figure 2 工具組的相容性評估工具 (Toolkit Compatibility Evaluator)

評估工具 說明
Inventory (詳細目錄) 清查多個系統區域,收集每一部電腦上應用程式及其關聯元件的相關資訊。
Internet Explorer 監控 Internet Explorer 7.0 以探查具有潛在相容性問題的 Web 應用程式。會記錄 Web 位置供進一步處理。
User Account Control (使用者帳戶控制) 監控使用者與應用程式的互動,並於請求提高安全性權限時,記錄應用程式資訊供進一步處理。
GINA 監控舊版架構應用程式使用認證的情況,並記錄這些應用程式以便進行必要的修改。
Deprecated Components (過時元件) 清查 Windows Vista 已不再支援的舊技術 (如 FrontPage Server Extensions) 使用情況。如果偵測到任何應用程式使用這類技術,便會予以記錄供進一步處理。
Session 0 (工作階段 0) 偵測 Session 0 的具體請求,並據以記錄應用程式。Session 0 在 Windows Vista 中受到完全保護,所以應用程式如今已無法在此工作階段中執行。

Figure 1 應用程式相容性工具組元件

元件 說明
Compatibility Evaluator (相容性評估工具) 可在電腦上執行的各種評估工具,用於偵測與記錄潛在的應用程式相容性問題。
Log Processing (記錄檔處理) 取得記錄於個別電腦上的累積相容性資訊,並於預先定義的間隔將此資訊傳送至中央記錄檔。
Inventory Database (詳細目錄資料庫) 供 Application Compatibility Manager 報表功能使用,並可啟用許多新欄位以協助管理每個應用程式的部署流程和狀態。
Application Compatibility Manager 此中央管理工具提供各項功能,可用於監控及變更部署流程的相關資訊。
Microsoft Compatibility Exchange 分享相容性資訊的社群資源。可從 Microsoft Compatibility Exchange 取得的其他相容性資訊包括:其他客戶的分析結果、Microsoft 憑證資訊,以及廠商的應用程式相關資訊。

基本上,透過四個步驟大致可瞭解並判別 Windows Vista 對您的應用程式有何影響。

首先,您必須清查企業內部所有的應用程式,及其就應用程式相容性而言的已知狀態。針對這項工作,您可藉助於 Systems Management Server (SMS) 之類的軟體管理系統,或純粹憑藉可信的傳統試算表來完成,但兩種方法都無從得知相容性狀態。應用程式相容性工具組所附的相容性評估工具則可提供這項重要資訊。

要收集整體的應用程式詳細目錄,第一步是建立能夠部署到桌上型電腦的相容性封裝 (Compatibility Package,請參閱 [圖 3])。您可以附上相容性評估工具,協助判別哪些應用程式可能存在相容性問題。此封裝可透過軟體管理系統進行部署;其檔案極小,在用戶端電腦上執行時佔用很少資源。而一旦執行後,您將收到關於電腦和應用程式的相容性資訊。

圖 3a 建立相容性封裝 (Compatibility Package)

圖 3a** 建立相容性封裝 (Compatibility Package) **(按影像可放大)

圖 3b

圖 3b(按影像可放大)

當您取得相容性評估工具傳回的第一份報表後,應會希望獲得最新的相容性資訊。下一步正是與 Microsoft Compatibility Exchange 進行同步。請按一下 [Send and Receive Data] 圖示,然後提供您的登入資訊,就能與 Microsoft Compatibility Exchange 連線。該處即為相容性資訊的來源,可協助您分析應用程式組合,排定優先順序以將其合理化。應用程式報表 (Application Report) 將包含由其他社群成員、軟體廠商及 Microsoft 所提供與您的組合中各應用程式有關的資訊,顯示了這些應用程式大致的相容性狀態。此外,您還能快速查閱已知問題和可能的方案,進而減少需要自行從事整體測試的次數。對於早已公認的問題,您就不必再親自測試而後反覆探索該問題,也沒有必要四處尋求解決方案。

如今您已有了應用程式組合,接下來的目標是減少需要投注心力解決問題的應用程式數目。最有效率的辦法是將應用程式加以組織與分類。

首先請利用 Application Compatibility Manager 內建的篩選功能。詳細目錄清單可能含有許多您不需要在意的應用程式 (請參閱 [圖 4])。例如,若您即將更換硬體,就可忽略 OEM 提供的硬體驅動程式或特殊應用程式。

圖 4 利用 Application Compatibility Manager 進行篩選

圖 4** 利用 Application Compatibility Manager 進行篩選 **(按影像可放大)

下一步是開始制定您要如何組織這些應用程式,以剔除無關緊要的部分。請稍加思考應用程式係屬於全面性,還是僅侷限於特定的地理區或部門。哪些應用程式可就近向廠商尋求支援?內部有哪些商務營運系統應用程式須交由員工照料?可能要為所有開發人員建立一個類別,再為每位開發人員建立一個子類別,以便指派負責程式。決定好您的組織策略後,即可開始著手將應用程式分類。

您可以利用應用程式相容性工具組,藉由選取 [組織 (Organize)] 功能並建立個人項目來建立類別和子類別 (請參閱 [圖 5])。這些項目將會列在報表選項中,讓您可針對每個子類別項目建立非常具體的報表。

圖 5 指派類別

圖 5** 指派類別 **

分析階段的最後一步是為每個應用程式或每部電腦指派類別。經常使用行動裝置的員工將從中受益,因為 Windows Vista 提供許多新功能可改善使用行動裝置之員工的體驗,因此您會希望為這些應用程式建立類別或子類別。應用程式可指派為隸屬多個類別,因此若您建立開發小組類別並以小組成員的名稱做為子類別,就能追蹤各個應用程式是由哪些成員負責。

管理修改與部署

將應用程式初步分類後,您即可更進一步精簡清單。一部電腦上可能列有數百個應用程式,但絕非所有的應用程式都值得關注。請記住,目標是要大幅縮編應用程式的清單,才能將心力集中在必要的安全防護工作上。在合理化過程中,優先順序清單中首先要剔除實用性即將過時,或是正處於更新或改造階段的應用程式。您還會發現若整個組織現存應用程式的多種版本,則可將其整併為單一版本以方便提供支援。某些應用程式可能已由其廠商或 Microsoft Compatibility Exchange 認定為相容,因而完全無須予以理會。部分應用程式也許並不屬於計劃升級的地理區或部門所管轄。

應用程式相容性工具組的「自訂報表」(Custom Reports) 功能可協助合理化應用程式。您可以選取特定類別,讓合理化後的應用程式清單縮編為只剩下某特定小組、地理區或位置。這樣應有助於您將焦點集中在需要投入更多相容性工作的領域。

將應用程式組合精簡為一組易於管理的應用程式後,如今您即可處理一系列明確的應用程式相容性問題,以實現順暢而適時地部署新作業系統。利用「排定優先順序」(Prioritize) 功能,您可為每個應用程式指派特定的優先順序和類別。

應用程式相容性工具組還提供一些附加功能,可協助您完成管理應用程式狀態及部署資訊的過程。藉由交互選擇 [測試 (Testing)]、[安全防護 (Mitigating)] 和 [準備部署 (Ready to Deploy)] 可以追蹤特定應用程式的狀態。而在 [報表 (Reports)] 區段中,您將看到所有應用程式的整體部署狀態。

您亦可在此區段中自行新增應用程式的相關資訊。您可以對應用程式進行認證,及建立或編輯該應用程式的具體新問題 (請參閱 [圖 6])。請與 Microsoft Compatibility Exchange 分享這項資訊,以協助其他系統管理員分析其個人環境。

圖 6 記錄應用程式的相容性狀態

圖 6** 記錄應用程式的相容性狀態 **(按影像可放大)

總結

如今您已瞭解到在開始部署 Windows Vista 之前,應該投注心力事先處理哪些事項。如需 Microsoft 應用程式相容性工具組的詳細資訊,請造訪 microsoft.com/technet/prodtechnol/windows/appcompatibility (英文)。

John Melton 涉足資訊科技 (IT) 領域已長達 20 餘年,且過去 10 年一直都在 Microsoft 任職。John 原為系統工程師,目前則是 Windows Vista 及「Microsoft 應用程式相容性」的小組產品經理。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.