Share via


應用程式相容性

在 Application Compatibility Toolkit 5.5

Chris Corio and Chris Jackson

 

簡介:

  • 應用程式相容性管理員] 和 [代理程式的 Framework
  • 相容性評估工具
  • 儲存和分析資料
  • 標準使用者分析器
  • Internet Explorer 相容性測試工具

內容

應用程式相容性管理員
相容性評估工具
ACT 資料庫
分析
線上的同步處理
標準使用者 Analyzer
Internet Explorer 相容性測試工具
結論

Application Compatibility Toolkit (ACT) 可協助您管理處理程序,判斷您的應用程式是否與一個新的版本,Windows 的相容部署它們之前。 它也可以協助您判斷您的作業系統更新程式會影響這些應用程式的方式。 有許多文件和如何使用 [ACT 5.5 上撰寫的白皮書。 我們要在本篇文章中執行是實際上和探索下移如何每個的此工具組的運作方式的工具。 我們會啟動與大多數的人關聯的工具組的工具: 應用程式相容性管理員。

應用程式相容性管理員

應用程式相容性管理員提供您實際執行環境組織這項資料分析] 及 [協助測試程序的磁碟機的探索有關的架構。 讓我們深入這個工具,以瞭解其運作方式。

評估工具部署套件 (MSIs) 您部署為 MSIs 的 ACT 5.5 資料集合套件],但是如果您可以仔細分析 MSI,您會發現它實際上不執行許多工作。 而,它會擷取可執行檔執行安裝程式。 [圖 1 ] 顯示一般安裝程式處理序的執行的處理程序樹狀目錄。

fig01.gif

[圖 1 的 代理程式的 Framework 安裝程序樹狀目錄

第三個執行個體的顯示紅色,? Msiexec.exe 會是一個有趣: 的呼叫解除安裝原始的 MSI。 基本上,MSI 會解壓縮.exe (顯示為.tmp 檔案),並再解除安裝外部的 MSI。 稍後,安裝第二個 MSI,(稱為 msiexec 的)。 在一個的測試請部署 MSI 完成 1:19:46,在安裝,並已完成在 1:19:50 解除安裝]。 只有 4 秒鐘顯示已安裝 MSI ! 因此,部署資料集合封裝時, 不會尋找 MSI,以判斷是否您必須安裝到目標電腦,因為您不可能來尋找的安裝。 您要尋找其他您已安裝代理程式每個工作站的辨識項。

辨識例如,的 MSI 部署將會在每一次時有新的產生的產品程式碼、 內部的 MSI 會永遠都有相同的產品程式碼 (DC93B45B-D4F5-4FFE-9B47-042BD6FA8CC5),和這可以用來時為項 (雖然您無法某些哪一個,所有 ACT 資料集合封裝有這個覆蓋區),所安裝的 ACT 資料集合 」 套件。 請注意我們不建議使用這個 MSI 項目資料集合封裝的解除安裝,; 我們會討論建議的方式接下來解除安裝的 ACT 資料集合 」 套件]。

Afsetup.exe 執行大量的的工作,並且將想要留意這個二進位檔的事件中您的代理程式部署中有任何問題。 您可以解除安裝代理程式 Framework 使用下列命令:

%program files%\Microsoft Agent Framework\Agent Framework\afsetup.exe /uninstall

代理程式的架構 ACT 5.5 的代理程式 Framework 提供結構收集資料,從大型企業中電腦的集合。 代理程式的一個設計目標是 unnoticed 且適用於部署至實際執行環境。 因此,個別的代理程式的工作是嚴重的效能的最佳化 (這您會發現在某些的代理程式中所做的設計決策)。

本身的 Framework 是簡單的。 安裝代理程式) Framework 時, 可以在 %Program Files %\ Microsoft 代理程式的架構中找到檔案。 它執行為服務 (actdcsvc.exe),可讓排程,及代理程式的啟動。 在代理程式 Framework\Data 子目錄中找到的 XML 會設定根據指定的排程,來啟動代理程式。 您可以找到在代理程式 Framework\Agents 代理程式可執行檔。

代理程式會比使用可執行檔的任何 — Framework 服務代理程式會直接管理排程,並啟動適當的可執行檔案,安裝和組態 XML 中所指定。 [圖 2 顯示一般的代理程式的 Framework 安裝的第一個的 5 分鐘的處理程序樹狀目錄的範例。

fig02.gif

[圖 2] 代理程式的 Framework 程序樹狀目錄

我們這裡有是簡單服務,只要排程並執行代理程式。 代理程式會執行工作,讓我們探索它們。

[ACT 5.5 庫存代理程式]、 [collect.exe,是其中一個最重要。 基本上,這個代理程式會搜尋用戶端系統,並編譯應用程式的清單。 方面的規劃應用程式相容性專案 (對齊在 vender 版本,以及最後支援陳述式的應用程式名稱) 所需資料,庫存代理程式持續執行非常也比較其他的軟體清查工具。

什麼特別有用是不只是如何吧,代理程式 scours 尋找 (以下詳細說明) 的辨識項的系統,但如何好它然後一起傳送前先清除資料。 工具會建立一系列的 「 連結,並再合併所有的辨識項中,搜尋下列,詳細扁平化,移除重複的項目,以及分類它找到。 代理程式會尋找在許多位置來尋找應用程式的辨識項。

MSI 資料庫搜尋會使用 MsiEnumComponents API 來列舉使用 Windows Installer 所安裝的所有應用程式。

在 [新增 / 移除程式] 搜尋開啟同時 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Uninstall] 和 [HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Uninstall,並從這裡找到每一個子機碼中收集資料。

Windows 殼層搜尋的運作方式列舉 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell 的資料夾,以及每個使用者使用電腦上的設定檔的 <...> HKEY_USERS\ \Software\Microsoft\Windows\CurrentVersion\Explorer\Shell 資料夾的內容。 「 代理程式 」 然後搜尋的所有檔案和連結,這些目錄中 (特別不包括桌上型電腦的傾向於 「 停車 」 的可執行檔從以減少雜訊網站下載) 其子目錄。 這個搜尋會擷取軟體,例如,不會登錄本身在 [新增 / 移除程式] 中,但不會加入的 [開始] 功能表捷徑。

應用程式路徑搜尋會列舉子機碼 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App 路徑登錄機碼中,挑選任何已註冊接收程式特定的應用程式路徑本身的應用程式的所有。

路徑環境變數搜尋會尋找任何使用者的路徑環境變數中指向每個目錄 (但不是的子目錄) 中的執行檔。 它會先尋找 ExpandEnvironmentStrings (它會傳回同時系統環境變數] 和 [目前使用者的環境變數) 在呼叫傳回的路徑中的可執行檔加上 <...> HKEY_USERS\ \Environment,為所有其他的使用者的內容。 這可讓尋找由直接將檔案放在檔案系統,然後將附加到路徑環境變數所安裝的應用程式 (通常是命令列應用程式),庫存行程。

檔案的副檔名的處理常式搜尋會探討每個已註冊的檔名,並擷取登錄來處理這些檔案的副檔名的程式。 它首先會開啟 HKEY_LOCAL_MACHINE \ Software \ Classes,並列舉開頭為句號 (.),因為這些是副檔名的每個項目。 每個項目的代理程式會列舉程式識別碼和找到尋找 shell\open\command 子機碼的每個程式 ID,以尋找可執行檔的檔案。 它接著會相同為每個使用者列舉 HKEY_USERS\ <...> \Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 的內容。 這可讓代理程式來尋找其中安裝只是捨棄二進位碼檔案,然後將本身註冊為處理常式副檔名為軟體。

在下列登錄機碼,找出可執行檔的檔案,可能表示應用程式,看起來登錄執行 / runonce 搜尋:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVerison\RunOnceEx

檢查這些登錄機碼,可讓代理程式來尋找每個啟動與執行,但,也可能會不保留 [行程來尋找其他舉證的軟體。

服務控制管理員 (Service Control Manager 搜尋查詢服務控制管理員 (使用 EnumServiceStatus API),並再查詢的詳細資料 (使用 QueryServiceConfig API) 的每個服務。 這可讓代理程式來尋找的軟體的安裝程式會以手動方式將檔案系統上的可執行檔案,並設定登錄機碼來登錄服務。

Windows 元件] 搜尋查詢 Windows 擷取這些應用程式以及安裝選用的元件。 它會藉由查詢 Sysocmgr.inf (在 %windir%\inf),並列舉已選取 「 選用元件。 這可讓尋找軟體可能不存在於標準的 Windows 安裝的代理程式。

相容性評估工具

雖然知道您有整個企業安裝在電腦的哪些軟體,通常,執行應用程式相容性專案的最重要資料代理程式 Framework 也讓您從電腦收集額外的資料,與安裝的代理程式。 ACT 提供的相容性評估工具代理程式會用於實際執行的效能最佳化,並因此收集了有限的數量的資料。 檢閱收集的資料,並執行一個概念的測量大量的相容性評估工具部署中,大量投資之前,資料的值。

UAC 相容性評估工具 UAC 的相容性評估工具 (uacce.exe) 安裝自訂的 Shim 資料庫 (uacce.sdb) 和自訂的修正 (uacdetct.dll) 以判斷是否可以執行的應用程式以標準使用者 (或受保護的系統管理員身分) Windows Vista 或 Windows 7。 (修正是應用程式的程式碼的小片段插入應用程式和 Windows 通常用來在 Windows 中解決應用程式相容性問題,但以下用於偵測這些之間)。 這些修正套用至藉由設定相容性層級的 Explorer.exe,在上系統執行處理序,它會設定包含 UACCEDetection,自訂的 SDB) 中定義一個圖層將 __COMPAT_LAYER 環境變數中。 因為子處理程序會繼承層級,使用 [檔案總管所建立的任何處理序必須套用這些修正。

在修正哪些? FileOperations Shim 會攔截針對發出的 _lcreat、 CopyFile、 CopyFileEx、 CreateFile、 DeleteFile、 MoveFile、 MoveFileEx、 MoveFileWithProgress、 ReplaceFile、 LZOpenFile、 EncryptFile、 DecryptFile,和 DuplicateEncryptionInfoFile API 的呼叫。 為每個的呼叫中,它會查看如果 ACL 限制存取或 (萬一您有 loosened ACL),檔案會存在於特殊的路徑中。

ACL 檢查) 由取得現有 ACL,移除系統管理員 」 的 ACE 及權限,和在資源上,然後呼叫 AccessCheck 決定,來判斷是否它是成功的非系統管理員的使用者。 特殊路徑檢查會在路徑在根目錄、 %Program Files %目錄,%系統 %目錄或 %Windows %目錄中。 記錄任何失敗。

RegistryOperations Shim 會攔截針對發出的 RegCreateKey、 RegCreateKeyEx、 RegDeleteKey、 RegDeleteKeyEx、 RegDeleteValue、 RegOpenCurrentUser、 RegOpenKey、 RegOpenKeyEx、 RegCloseKey、 RegOpenUserClassesRoot、 RegReplaceKey、 RegRestoreKey、 RegSetValue、 RegSetValueEx,和 RegUnloadKey API 的呼叫。 每個呼叫攔截 API,Shim 會檢查 ACL 是否會拒絕標準的使用者的存取。 此 ACL 檢查是相同檔案作業中使用 — 語彙基元下移除,並在呼叫 AccessCheck。 記錄失敗。

ProfileOperations Shim 會攔截針對發出的 WritePrivateProfileSection、 WritePrivateProfileString、 WritePrivateProfileStruct、 WriteProfileSection 和 WriteProfileString API 的呼叫。 每個呼叫這些 API,Shim 會檢查.ini 檔案是否對應使用的 ini 檔案對應。 如果不,Shim 會檢查會 (因為未對應的 ini 檔案是否只是另一個檔案),Shim 項歸檔為],FileOperations 中指定使用權限,並記錄失敗。

RestrictedNamespace Shim 會攔截針對發出的 CreateFileMapping API 的呼叫。 如果物件的名稱會包含在 Global\] 或 [Session\ 命名空間,然後會記錄失敗。

ElevatedRunLevel Shim 會攔截針對發出的 CreateProcess、 CreateProcessAsUser 和 CreateProcessWithLogon,CreateProcessWithToken API 的呼叫。 所有的攔截的 API 會檢查以判斷您的 Windows 安裝程式偵測功能,是否將觸發的提高權限事件 (使用 CreateProcess API 時,會傳回 ERROR_ELEVATION_REQUIRED) 可執行檔的目標。 此外,Shim 變更使用者認證以判斷它們是系統管理員帳戶的 API 檢查目標識別碼。

如果您仔細在偵測運作方式,您會看到代理程式的工作時則會假設您正在執行較高。 代理程式是設計在生產系統上使用中,假設是: 應用程式已經運作。 如果的工作,並會有問題 UAC,然後您在可能執行以系統管理員的身分 !

Windows Vista / Windows 7 相容性評估工具 因為一個單位的工作可以偵測到靜態,其他是監視和分析在執行階段時),Windows Vista / Windows 7 相容性評估工具實際分隔成兩個個別的代理程式執行檔。

GINA 工作階段 0 的代理程式 (ginasession0.exe) 會執行簡單的登錄檢查。 它會查看 HKEY_LOCAL_MACHINE NT\CurrentVersion\Winlogon\GinaDLL 判斷您是否有安裝自訂 GINA。 它也會列舉服務,查看登錄,以查看中的型別值,0x100 位元設定 (SERVICE_INTERACTIVE_PROCESS 旗標)。 記錄任何失敗。

更像,UAC 相容性] 評估工具可 Deprecation 代理程式 (dep.exe) 安裝自訂的 Shim 資料庫,(「 dep.sdb,」 或 「 在 Windows 2000 上的 win2kagents.sdb 」) 和自訂的修正 (depdetct.dll) 設定的 Explorer.exe,將可確保透過檔案總管啟動任何處理程序 shimmed 的 DeprecationAgentLayer __COMPAT_LAYER 環境變數。 (請注意 Shim 資料庫也從 Shim,已知是否它們偵測到它們已經被 shimmed 失敗排除特定的二進位碼檔案)。

會取代代理程式尋找什麼? 讓我們來檢查,它會使用的修正。

DllLoadOperations Shim 會攔截 LoadLibrary 和 LoadLibraryEx,並比較程式庫名稱傳遞至被取代的 DLL 的清單。 此清單會儲存在您可以在 %Program Files %\ Microsoft 代理程式 Framework\Agent Framework\Agents\DEP 中找到的 DepManifest.csv 中。 使用其中的第一個資料行是 DllType 項目。

ExeLoadOperations Shim 會攔截 CreateProcess、 CreateProcessAsUser、 CreateProcessWithLogon、 CreateProcessWithToken、 ShellExecute、 ShellExecuteEx 和比較可執行檔的名稱傳遞至的已取代的 EXE,也儲存在其中的第一個資料行是 ExeType 的 DepManifest.csv 清單的 WinExec API。

RegistryLoadOperations Shim 會攔截 [RegCreateKey、 RegCreateKeyEx RegCloseKey、 RegDeleteKey、 RegDeleteKeyEx、 RegDeleteValue、 RegOpenCurrentUser、 RegOpenKey、 RegOpenKeyEx、 RegOpenUserClassesRoot、 RegReplaceKey、 RegRestoreKey、 RegSetValue、 RegSetValueEx 及比較傳遞清單 (重新) 儲存至登錄機碼的 RegUnloadKey API DepManifest.csv—this 與 RegType 的第一個資料行的時間。

ApiLoadOperations Shim 直接 shims 特定 API 已經被取代的注意應用程式會呼叫它。 適用於 Windows Vista,沒有只有一個: StiCreateInstanceA sti.dll 中的。 (和甚至還有這背後說故事,請參魷 \ cs6 \ f1 \ cf6 \ lang1024 https://blogs.msdn.com/tomarcher/archive/2006/03/22/Windows-Vista-sti-and-a-story-about-Customer-Service.aspx)。

您會發現有關這個代理程式是它取決層級下執行: 事實上您會呼叫項目在您成功呼叫它時,才會記錄。

更新的相容性評估工具 更新程式的相容性評估工具是用於判斷哪些 Windows 二進位檔案在特定的應用程式使用,這能讓您測試更精確地說當 Windows 更新程式發行為目標。 更新相容性評估工具的運作方式安裝核心模式驅動程式 (fdrtrace.sys) 實作兩者的檔案系統篩選器驅動程式] 及 [登錄攔截程序,來記錄應用程式所產生檔案系統和登錄活動。 它會利用服務 (uiaservice.exe) 」 和 「 解譯資料和應用程式和 Windows 二進位檔案的存取它對齊的可執行檔 (uiaconvert.exe)。

bucketizer 代理程式 Bucketizer 代理程式會將以分類到每個應用程式的雜湊桶中偵測到任何問題對電腦的清單的相容性評估工具代理程式收集的資料對應。

壓縮機代理程式 就像名稱聲音,壓縮程式代理程式 (compressor.exe) 的目的是壓縮至 CAB 檔案儲存網路頻寬上載至指定的檔案共用的檔案中。

uploader 代理程式 上載程式代理程式負責將上載到指定的檔案共用,在從其他代理程式收集的資料。 這個代理程式的工作都是相當簡單,在本機複製資料收集到指定的位置。 如果位置是無法存取,代理程式就會等待重試之前先 5 秒。 代理程式 」 將重試之前放棄三次。

ACT 5.5 的重要新功能是資料的集合封裝可以 「 標記 」) 設定,讓所有上載的特定資料的集合封裝的記錄檔將會有套用至特定標記。 可這讓您更有效的位址某些案例,例如,徹底瞭解哪些軟體正在使用 inventoried 每個群組 (先前這是難測量的重疊的應用程式) 或合併數個群組或組織的資料。

記錄檔中處理服務 處理服務記錄檔會當做服務執行 actdcsvc.exe。 如果您認為,聽起來熟悉您完全正確 — 這是前面討論在相同的代理程式 Framework 服務 ! 在這種情況下執行下列三個的代理程式:

  • 解壓縮程式代理程式 (decompressor.exe) 壓縮程式代理程式在您收集從 「 工作站上使用 [小幫手],解壓縮用戶端從 CAB 檔案,用來上載上產生的 XML 檔案,它。 一旦擷取,接聽程式代理程式就會偵測到變更,然後可以繼續。
  • 接聽程式代理程式 (listener.exe) 會監視指定的目錄的變更。 它會等待變更才能在受監視的目錄中,然後加以處理,藉由傳送佇列的代理程式的 RPC 呼叫。
  • Queuer 代理程式 (queuer.exe) 會設定從接聽程式代理程式的 RPC 呼叫接聽的連接埠。 當它收到這些呼叫時,它處理檔案,並將它們上載到資料庫。 Queuer 代理程式已完成的 XML 檔案從移到未壓縮的資料夾的根目錄已處理的資料夾它成功時。 如果則會失敗它就會失敗的資料夾移檔案。 經常,如果記錄檔無法處理,您可以直接移到它上一步] 重試,監視共用的根目錄,並通常這會成功。

很常出現的問題會是您是否需要儲存這些已處理的檔案。 因為資料已經在資料庫中,您技術上不需要儲存它們,和大多數的人可以放心刪除它們。 但是,這些檔案可以方便重建資料庫或合併兩個的資料庫,所以它是值得考慮您未來需要重新產生資料庫,再刪除此資料。

ACT 資料庫

應用程式相容性管理員可能會大部分的神奇發生,但 ACT 資料庫則是所有資料的都所在。 有很多 ACT 資料庫中的資料表。 雖然結構描述會記載,但卻是非常簡單 (但,唉,主旨 ACT 的幾乎每個新版本的變更)。 重要的資料表包括應用程式 」、 「 電腦 」、 「 裝置和 「 問題,又用來組織所有各種不同的代理程式所傳回,以及處理的記錄檔處理服務所需資訊。

應用程式與資料產生 [使用的名稱、 版本、 廠商和應用程式的語言 (NVVL),一個唯一的應用程式識別碼與相關聯。

您可以裝載資料 ACT 庫 Microsoft SQL Server 2005 (含) 以後版本,包括 Express 版本。 (SQL Server 2000 不再支援)。 應用程式相容性管理員 」 會建立資料庫在 ACT 的企業組態的初始設定階段。 用來建立資料庫的指令碼位於 %allusersprofile%\Microsoft\Application 相容性工具組 5\CreateDB.sql 而定。

金鑰的 「 ACM 層面都是能夠建立報表。 您可以藉由篩選使用查詢產生器控制項中會顯示當您按一下切換的篩選器的 ACM ACT 資料庫來建立報表。 您可以篩選根據相關 ACT 資料庫中實體的準則,並連結這些子句來建立 AND 和 OR 的關係。 您也可以將您的報表儲存為一個.adq] 檔案 — 定義篩選器使用的.xml 檔案。 在的.adq 檔案是在可移植的格式,不是包含資料,或一組特定的資料而定。

線上的同步處理

在執行的線上的同步處理,ACT 就會使用公用 Web 服務。 在舊版 ACT,請傳送唯一的應用程式識別碼的所有您的軟體,但您無法隱藏您從社群的相容性評估,如果您想]。 ACT 5.5,您決定不共用的應用程式有關的資訊時 ACT 永遠不會傳送應用程式 ID (這也表示您沒有收到資料中傳回)。

社群資料會來自 Microsoft Compatibility Exchange 資料庫,包含標誌憑證資料和社群資料 (其他使用者的投票)。 不同的系統目前電源 Windows.com/compatibility,和此資料將市面上可用軟體的相容性狀態的手動研究的結果,,ACT 5.5 將會是第一版的 ACT,將加入此資料提供已知的相容性,比先前可用狀態的最詳細資訊。

標準使用者 Analyzer

標準使用者 Analyzer (SUA) 是由數個二進位檔案監視和分析應用程式執行並進行通訊的應用程式測試期間所發生的問題所組成。 主要的 SUA UI 可讓您在目標應用程式分析,並選取 [這個應用程式的啟動條件。 SUA 然後會使用應用程式檢查器做為其基礎平台監視應用程式。 之後監視應用程式的執行,SUA 會呈現在 SUA UI 的使用者能瞭解資料,並甚至建立 [插入 Windows 應用程式相容性的基礎結構降低套件中取得的資料。

應用程式驗證器 應用程式驗證器會是工具,提供開發人員能夠監視應用程式執行。 SUA 會使用應用程式驗證器,來追蹤應用程式行為,藉由攔截特定的 API,並監視其使用方式需要系統管理員權限。

可以登錄和要監視目標的應用程式採用特定的 DLL,應用程式檢查器就實作外掛程式模型 (的撰寫本文的未尚未記載公開使用)。 (外掛程式被設定使用登錄的金鑰 HKEY_LOCAL_MACHINE NT\CurrentVersion\Image 檔案執行 Options\ ApplicationVerifierGlobalSettings})。 這在安裝期間安裝到 %windir %\ System32 目錄的 vfLuaPriv2.dll SUA 使用監視應用程式 DLL。 二進位的 vfLuaPriv2.dll 會取代 vfLuaPriv.dll 個應用程式檢查器安裝。

當 SUA 啟動測試的應用程式時,它一開始檢查以確保應用程式檢查器安裝在系統上,並提示使用者如果需要安裝它。 接下來,SUA 使用應用程式檢查器命令列介面的應用程式登錄 ; 例如,如果 Notepad.exe) 針對監控,SUA 呼叫命令列會下列:

appverif.exe -enable luapriv -for "notepad.exe"

應用程式驗證器會符合 luapriv 字串 vfLuaPriv2.dll 中指定之名稱。

SUA 會設定應用程式時也會告訴應用程式檢查器監視的應用程式所建立的任何子處理序。 應用程式驗證器建立的每個的處理序不同的記錄檔,但 SUA 結合這些來建立單一的彙總報表的記錄檔中。 SUA 也可以在另一台電腦上檢視一個.cab 檔中儲存記錄檔的集合。

標準使用者 Analyzer UI SUA 可以測試應用程式,在其中一個三個不同的內容: 啟動應用程式與目前使用者的權杖,停用檔案及登錄虛擬化的目前使用者的權杖或更高的使用權限。 在每一種的情況下 SUA 將啟動的較高的處理序 SUAnalyzerSrv.exe,因為應用程式驗證器需要較高的權限設定。 [圖 3 ] 顯示典型的處理程序樹狀目錄測試 notepad.exe 時。

fig03.gif

[圖 3 測試 Notepad.exe

SUAnalyzerSrv.exe 和 AppVerif.exe 會永遠執行以系統管理員權限,以準備要測試目標應用程式環境。 SUA 會,然後等候應用程式和所有子系和指定的安全性內容下啟動 Notepad.exe 處理完成執行。 SUA 然後彙總,並處理應用程式檢查器記錄檔,並在 UI 中顯示結果。

SUA 結果會分成問題,包括檔案,登錄,INI,語彙基元、 權限、 名稱空間,其他物件,和處理的類別。 這些類別會對應到在 SUA UI 頂端的索引標籤並允許您專注於不同的問題中,您可以測試應用程式。

「 檔案及登錄索引標籤顯示您在檔案系統或登錄的作業,會需要系統管理員權限。 luapriv 應用程式檢查器外掛程式會監視情況下使用,需要系統管理員權限的相關的 API,例如 CreateFile 或 CreateRegistryKey 的行為。 在某些的情況下,UAC 檔案和登錄重新導向 」 功能就會允許這些作業,才能繼續在 Windows Vista 上。

顯示每個索引標籤 UI 通常來自於 luapriv 監視一組 API 的行為。 例如,[INI] 索引標籤會著重尋找 WriteProfile API,原先用於 16 位元應用程式使用的相關問題。 在每個索引標籤的討論中可用 SUAnalyzer.rtf 文件包含做為 SUA 安裝的一部分。 您可以展開來檢視事件,包括堆疊追蹤,在應用程式中發生該事件的詳細的資訊的每個索引標籤下的事件。

請檢閱應用程式的測試結果後, SUA 可讓您測試,並建立應用程式降低封裝。 降低封裝是 MSI,註冊的應用程式相容性資料庫,在系統上可以使用 loosen.exe 一個公用程式,隨附於 SUA,調整檔案或登錄 ACL。 降低套件可以在您的環境中部署。

Internet Explorer 相容性測試工具

Internet Explorer 相容性測試工具可讓 Internet Explorer 相容性評估工具 (iece.exe)。 ACT 5.0,請您也可以做為資料集合封裝的一部分部署評估工具,但因為集合會需要您已有安裝目標瀏覽器,這已移除 ACT 5.5]。 (畢竟,探索項目無法使用安裝後是不理 ; 大多數的人想要發現任何問題,它們可以部署新的瀏覽器之前 !)

Internet Explorer 相容性評估工具就相當一樣簡單 — 它的唯一的工作是修改登錄,讓 Internet Explorer 中啟用記錄。 因為瀏覽器本身會提供偵測,資料的精確度會是極高的。 如需的所有 Internet Explorer 可以偵測 (以及使用的每個的補救建議) 的事件的詳細資訊,請參閱 Internet Explorer 的應用程式相容性.

Internet Explorer 會記錄至事件記錄檔,資訊並測試工具從登錄中收集的資訊合併它。 您可以分析工具的直接中的資訊,或您可上載到合併的 ACT 資料庫的事件。 如果您選擇要上載到 Internet Explorer 相容性評估工具執行代理程式,就像在資料集合封裝中, 執行的代理程式的 ACT 資料庫第一次執行 collect.exe,bucketizer.exe,然後最後 compressor.exe 之後, 它會提示您要儲存 CAB 檔案位置)。

結論

也,會結束應用程式相容性工具組 5.5 的我們涵蓋在導覽。 產品會提供許多有用工具,以支援您的遷移至 Windows Vista 或 Windows 7,瞭解更多相關什麼每一個由不會,您會更好評估每個工具可能會,並將適當的投資。

Chris Jackson 都是在 Microsoft Windows 應用程式經驗 SWAT 小組在技術指導人員。 他已經從事世界的企業客戶,幫助他們調查,並降低應用程式相容性問題,以及許多的產業活動提供說明有關 Windows 應用程式相容性的訓練。 Chris 可連絡到在 https://blogs.msdn.com/cjacks.

Chris Corio 會超過五個年份是在 Microsoft Windows 安全性小組的成員。 他在 Microsoft 的主要焦點是,應用程式的安全性技術,並保護 Windows 的管理技術。 您可以到達 Chris,在 winsecurity@chriscorio.com.