Compatibilità delle applicazioni

All'interno di Application Compatibility Toolkit 5.5

Chris Corio and Chris Jackson

 

In un riepilogo delle:

  • Gestione compatibilità applicazioni e il Framework dell'agente
  • Strumenti di valutazione della compatibilità
  • L'archiviazione e l'analisi dati
  • L'Analizzatore di utente standard
  • Strumento di test compatibilità di Internet Explorer

Contenuto

Gestione compatibilità applicazioni
Strumenti di valutazione della compatibilità
Database ACT
Analisi
Sincronizzazione in linea
Analizzatore di utente standard
Strumento di test compatibilità di Internet Explorer
Conclusione

Application Compatibility Toolkit (ACT) consente di gestire il processo per determinare se le applicazioni sono compatibili con una nuova versione di Windows prima di distribuire le. È possibile inoltre consentono di determinare un aggiornamento del sistema operativo verrà impatto queste applicazioni. Sono stati un numero di articoli e white paper scritti nel come utilizzare il 5.5 ACT. Le operazioni che si desidera eseguire in questo articolo è passare sotto il dettaglio ed esaminare ciascuna degli strumenti di questo toolkit funzionamento. Iniziamo con lo strumento la maggior parte delle persone associare il toolkit: Gestione compatibilità applicazioni.

Gestione compatibilità applicazioni

Gestione compatibilità applicazioni fornisce un framework per rilevare le informazioni dell'ambiente di produzione, organizzare l'analisi di dati e protezione per il processo di testing. Analisi seguito questo strumento per comprendere il funzionamento.

package di distribuzione evaluator (MSIs) Si distribuire pacchetti di insieme di dati ACT 5.5 come MSIs, ma se si dissect il file MSI, si verrà trovato che effettivamente non creare quantità di lavoro. Al contrario, estrae un file eseguibile che esegue l'installazione. La figura 1 Mostra la struttura di processo per un'esecuzione il processo di installazione tipica.

fig01.gif

Figura 1 Framework dell'agente installazione processo struttura

L'istanza terza di msiexec.exe, illustrato nella rosso, è una interessante: si tratta di una chiamata a disinstallare il file MSI originale. In pratica, il file MSI estrae un file exe (visualizzata in un file tmp) e quindi Disinstalla il file MSI esterno. Successivamente, viene installato un secondo file MSI (denominato da msiexec). In un test, distribuzione MSI terminato l'installazione in 1:19:46 e disinstallazione in 1:19:50 è completata. Il file MSI viene visualizzato installato per solo 4 secondi. Di conseguenza, quando si distribuisce un package di insieme di dati, non cercare l'installazione di MSI per determinare se è erroneamente per installarlo a un computer di destinazione poiché è non probabile per individuarlo. È necessario cercare altre prove di aver installato gli agenti per ogni workstation.

Ad esempio, mentre il file MSI distribuire sarà assegnato un nuovo codice di prodotto generato ogni volta che, MSI interno avrà sempre lo stesso codice di prodotto (DC93B45B-D4F5-4FFE-9B47-042BD6FA8CC5) e può essere utilizzato come prova che è installato un pacchetto di raccolta dei dati ACT (sebbene si non determinati quale tra tutti i package di insieme di ACT dati disporre il footprint). Si noti che non è consigliabile disinstallare un pacchetto di insieme di dati utilizzando questa voce MSI; verranno illustrate la consigliato per disinstallare un pacchetto di raccolta dei dati ACT successivo.

Afsetup.exe esegue la maggior parte del lavoro e verrà desideri prestare il file binario in caso di problemi con la distribuzione dell'agente. È possibile disinstallare il framework dell'agente utilizzando il seguente comando:

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

Framework dell'agente ACT 5.5 agente Framework fornisce una struttura per raccogliere dati da un insieme grande di computer in un'organizzazione. Un obiettivo di progettazione di agenti è unnoticed e adatti alla distribuzione in un ambiente di produzione. Di conseguenza, il lavoro di singoli agenti è molto ottimizzazione prestazioni (che si noterà che in alcune delle decisioni di progettazione apportate gli agenti).

La struttura stessa è semplice. Quando si installa .NET Framework dell'agente, puoi trovare i file files%\Microsoft di programma % Framework dell'agente. Viene eseguito come servizio (actdcsvc.exe) che consente la programmazione e avvio degli agenti. Il codice XML trovato nella sottodirectory Framework\Data Agente consente di configurare gli agenti per avviare in base a una pianificazione specificata. È possibile trovare l'agente di file eseguibili in Framework\Agents dell'agente.

Gli agenti sono niente di più file eseguibili, il servizio Agente Framework semplicemente gestisce la pianificazione e avvia i file eseguibili appropriati, come specificato nell'installazione e la configurazione XML. Nella figura 2 viene illustrato un esempio della struttura di processo per 5 minuti primo di una tipica installazione Framework dell'agente.

fig02.gif

Nella figura 2 della struttura di processo di Agente Framework

Ciò che abbiamo qui è un semplice servizio semplicemente pianifica ed esegue gli agenti. Gli agenti del lavoro, pertanto si Esplora le.

ACT 5.5 Inventory Agent collect.exe, è una delle più significative. In pratica, questo agente Cerca sistemi client e compila un inventario delle applicazioni. In termini dei dati necessari per la pianificazione di un progetto di compatibilità dell'applicazione (un nome di applicazione allineamento per un fornitore, versione e infine un'istruzione di supporto), Inventory Agent esegue in modo coerente estremamente anche rispetto agli altri strumenti di inventario software.

Che cos'è particolarmente utile non solo come e l'agente scours il sistema di ricerca di prova (dettagliata di sotto, ma come ed quindi pulisce i dati prima di inviarlo insieme. Lo strumento crea una serie di "bucket" e quindi tutte le prove trovata nella ricerca dettagliata riportate di seguito, linearizzazione, rimuovere i duplicati e classificazione Consolida. L'agente consente di cercare prova in diversi percorsi in cui trovare le applicazioni.

La ricerca del database MSI utilizza l'API MsiEnumComponents per enumerare tutte le applicazioni installate con Windows Installer.

La ricerca di programmi di aggiunta/rimozione apre Version\Uninstall HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current e Version\Uninstall HKEY_CURRENT_USER\Software\Microsoft\Windows\Current e raccoglie i dati da ogni sottochiave compare.

La ricerca di shell di Windows funziona tramite l'enumerazione il contenuto di cartelle HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell, nonché HKEY_USERS\ < … > \Software\Microsoft\Windows\CurrentVersion\Explorer\Shell cartelle per ciascun utente con un profilo del computer. L'agente quindi cerca tutti i file e collegamenti in tali directory o le sottodirectory in particolare esclusa desktop, tendono a essere "parcheggio molti" per file eseguibili scaricati dal Web, per ridurre il rumore. La ricerca acquisisce software, ad esempio, non registra se stesso in Add/Remove Programs ma aggiunta un collegamento di menu di avvio.

La ricerca di percorsi applicazione enumera tutte le sottochiavi nella chiave del Registro di sistema HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App percorsi, tutte le applicazioni sono registrati direttamente per ricevere un percorso di applicazione specifico del programma di prelievo.

La ricerca di variabili di ambiente di percorso restituisce le file eseguibili in ogni directory ma non nelle sottodirectory a cui punta nella variabile di ambiente percorso qualsiasi utente. Cercato file eseguibili nei percorsi restituiti da una chiamata a ExpandEnvironmentStrings (che restituisce sia le variabili di ambiente del sistema e le variabili di ambiente dell'utente corrente) e il contenuto di < … > HKEY_USERS\ \Environment per tutti gli altri utenti. In questo modo il collector di magazzino individuare le applicazioni (applicazioni in genere dalla riga di comando) installate semplicemente posizionando il file nel file system e quindi aggiunta alla variabile di ambiente del percorso.

La ricerca di gestori di estensione di file esamina ogni estensione di file registrati e acquisisce programmi registrati per gestire le estensioni di file. Innanzitutto apre HKEY_LOCAL_MACHINE\Software\Classes ed enumera ogni voce che inizia con un punto (.) come queste estensioni di file. Per ogni voce che di trovati, l'agente enumera gli ID di programma e individua le sottochiavi shell\open\command di ogni ID di programma per individuare il file eseguibile. Quindi esegue lo stesso per ogni utente, l'enumerazione del \Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts HKEY_USERS\ < … > contenuto. In questo modo l'agente per trovare software in cui l'installazione semplicemente eliminato i file binari e quindi registrato come un gestore eventi per un'estensione di file.

La ricerca di esecuzione/Runonce del Registro di sistema esamina le seguenti chiavi del Registro di sistema per individuare i file eseguibili che possono rappresentare applicazioni:

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

Queste chiavi del Registro di sistema di analisi consente di trovare software che viene eseguito con ogni avvio ma che non può lasciare altri prova per il collector individuare l'agente.

La ricerca di Gestione controllo servizi invia una query Gestione controllo servizi (utilizzando l'API EnumServiceStatus) e quindi interroga ogni servizio per i dettagli (utilizzando l'API QueryServiceConfig). Questo consente all'agente trovare software cui programma di installazione dei file eseguibili nel file system e imposta i tasti del Registro di sistema per registrare il servizio manualmente.

Componenti di Windows ricerca query i componenti facoltativi installati per Windows, per catturare queste applicazioni. Ciò avviene da query sysocmgr.inf (in % windir%\inf) e l'enumerazione i componenti facoltativi selezionati. In questo modo l'agente per trovare software è probabile che non esiste in un'installazione standard di Windows.

Strumenti di valutazione della compatibilità

Mentre sapendo quale software è installato nel computer all'interno dell'azienda, in genere, i dati più critici per l'esecuzione di un progetto di compatibilità dell'applicazione, dell'agente di .NET Framework consente inoltre raccogliere dati aggiuntivi da computer con agenti installati. Gli agenti analizzatori di compatibilità forniti con ACT sono delle prestazioni ottimizzate per l'utilizzo di produzione e di conseguenza raccogliere una quantità limitata di dati. Esaminare i dati raccolti ed eseguire una prova-di-concetto per misurare il valore dei dati prima di investire molto in una distribuzione Analizzatore rilevanti di compatibilità.

il controllo dell'account utente Compatibility Evaluator Il controllo dell'account utente Compatibility Evaluator (uacce.exe) installa un database di shim personalizzato (uacce.sdb) e shim personalizzato (uacdetct.dll) per determinare se è possibile eseguire un'applicazione come utente standard, o come un amministratore protetto, in Windows Vista o Windows 7. (Gli shim sono piccole parti di codice dell'applicazione vengono inserite tra l'applicazione e Windows, che vengono in genere utilizzati in Windows per risolvere problemi di compatibilità delle applicazioni, ma qui vengono utilizzati per rilevare tali). Questi shim applicabile ai processi in esecuzione nel sistema, impostando un livello di compatibilità di explorer.exe; imposta la variabile di ambiente __COMPAT_LAYER per includere UACCEDetection, un layer definito in SDB personalizzato. Poiché i processi figlio ereditano i layer, qualsiasi processo creato mediante Explorer disporranno questi shim applicato.

Che cosa necessario il shim fare? Lo shim FileOperations intercetta le chiamate alle _lcreat, CopyFile, CopyFileEx, CreateFile, DeleteFile, MoveFile, MoveFileEx, MoveFileWithProgress, ReplaceFile, LZOpenFile, EncryptFile, DecryptFile e le API DuplicateEncryptionInfoFile. Per ogni chiamata, viene verificato se l'elenco di controllo di accesso limita l'accesso o se il file risiede in un percorso particolare (nel caso in cui si hanno loosened gli ACL).

Il controllo elenco di controllo di accesso dipende dal richiede l'ACL esistente, rimuovendo le voci ACE "amministratore" e i privilegi e chiamando quindi AccessCheck sulla risorsa per determinare se viene per un utente non amministratore. Il controllo speciale percorso ricerca per verificare se il percorso è nella directory principale, directory % programma % file, directory di sistema % % o directory % windows %. Eventuali errori vengono registrati.

Lo shim RegistryOperations intercetta le chiamate alle RegCreateKey, RegCreateKeyEx, RegDeleteKey, RegDeleteKeyEx, RegDeleteValue, RegOpenCurrentUser, RegOpenKey, RegOpenKeyEx, RegCloseKey, RegOpenUserClassesRoot, RegReplaceKey, RegRestoreKey, RegSetValue, RegSetValueEx e le API RegUnloadKey. Per ogni chiamata a UN'API intercepted, lo shim verifica se l'elenco di controllo di accesso necessario negare l'accesso a un utente standard. Questo controllo di elenco di controllo di accesso corrisponde a quella utilizzata per le operazioni di file, estrazione verso il basso il token e chiamando AccessCheck. Gli errori vengono registrati.

Lo shim ProfileOperations intercetta le chiamate alle WritePrivateProfileSection, WritePrivateProfileString, WritePrivateProfileStruct, WriteProfileSection e WriteProfileString API. Per ogni chiamata a tali API, lo shim verifica se il file ini viene mappato utilizzando un mapping del file ini. Se non si verifica lo shim autorizzazioni sul file, come indicato nel FileOperations shim (poiché, se non è associato un file ini è semplicemente un altro file) e vengono registrati gli errori.

Lo shim RestrictedNamespace intercetta le chiamate all'API CreateFileMapping. Se il nome dell'oggetto include la Global\ o Session\ dello spazio dei nomi, viene registrato un errore.

Lo shim ElevatedRunLevel intercetta le chiamate alle CreateProcess, CreateProcessAsUser, CreateProcessWithLogon e CreateProcessWithToken API. Tutte le API intercepted selezionare la destinazione eseguibile per determinare se la funzionalità di rilevamento del programma di installazione di Windows attiverà un evento di elevazione (che restituisce ERROR_ELEVATION_REQUIRED quando si utilizzano le API CreateProcess). Inoltre, lo shim verifica l'identità di destinazione per API che modificare le credenziali utente per determinare se sono gli account amministratore.

Se si osserva attentamente funzionamento di rilevamento, si noterà che si presuppone che sia in esecuzione con privilegi elevati mentre lavorano gli agenti. Poiché gli agenti sono stati progettati per utilizzo in sistemi di produzione, il presupposto è che l'applicazione è già lavorando. E se dell'utilizzo e sarebbe verificato un problema con il controllo dell'account utente, quindi si probabilmente esegue come amministratore.

Windows Vista e Windows 7 Compatibility Evaluator Il Windows Vista e Windows 7 Compatibility Evaluator effettivamente è suddiviso in due file eseguibili separati agente, poiché un'unità di lavoro può essere rilevata in modo statico, mentre l'altro è monitorare e analizzato in fase di esecuzione.

L'agente di GINA sessione 0 (ginasession0.exe) esegue un controllo semplice del Registro di sistema. Esamina NT\CurrentVersion\Winlogon\GinaDLL HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows stabilire se è installato un modulo GINA personalizzato. Vengono inoltre enumerati servizi, esaminare il valore di tipo nel Registro di sistema per verificare se il 0 x 100 bit è impostato (flag SERVICE_INTERACTIVE_PROCESS). Eventuali errori vengono registrati.

Molto simile al controllo dell'account utente Compatibility Evaluator, l'agente Deprecation (dep.exe) installa un database di shim personalizzato (dep.sdb o win2kagents.sdb in Windows 2000 e shim personalizzato depdetct.dll, la variabile di ambiente __COMPAT_LAYER di Explorer.exe includere DeprecationAgentLayer, che assicura che i processi di avvio tramite risorse sono shimmed. (Si noti che il database di shim esclude anche specifici i file binari dallo shim sono noti esito negativo se rilevano che sono stati shimmed).

Che cosa sono gli agenti deprecation cercando? Esaminare shim che viene utilizzato.

Lo shim DllLoadOperations intercetta LoadLibrary e LoadLibraryEx e confronta il nome di una raccolta passato all'elenco delle DLL obsolete. Questo elenco viene memorizzato in DepManifest.csv, in % programma files%\Microsoft Framework\Agents\DEP Framework\Agent dell'agente. Vengono utilizzati i movimenti in cui la prima colonna è DllType.

Lo shim ExeLoadOperations intercetta CreateProcess, CreateProcessAsUser, CreateProcessWithLogon, CreateProcessWithToken, ShellExecute, ShellExecuteEx e API WinExec, confrontando il nome di eseguibile passato all'elenco delle exe obsoleti, archiviata anche in DepManifest.csv in cui la prima colonna è ExeType.

Lo shim RegistryLoadOperations intercetta la RegCreateKey, RegCreateKeyEx RegCloseKey, RegDeleteKey, RegDeleteKeyEx, RegDeleteValue, RegOpenCurrentUser, RegOpenKey, RegOpenKeyEx, RegOpenUserClassesRoot, RegReplaceKey, RegRestoreKey, RegSetValue, RegSetValueEx e API RegUnloadKey, confronto della chiave del Registro di sistema passata l'elenco memorizzato (nuovo) in tempo DepManifest.csv—this con una colonna prima di RegType.

Lo shim ApiLoadOperations shims direttamente API specifiche che sono state dichiarate obsolete, notare che un'applicazione chiamante. Per Windows Vista è disponibile solo una: StiCreateInstanceA in sti.dll. (E c'anche un brano dietro questa; vedere https://blogs.msdn.com/tomarcher/archive/2006/03/22/windows-vista-sti-and-a-story-about-customer-service.aspx).

Una cosa si noterà che su questo agente è che dipende in esecuzione a livello: viene registrato il fatto che è stato chiamato un solo se la riuscita di chiamata.

aggiornare Compatibility Evaluator Update Compatibility Evaluator è utile per determinare i file binari di Windows utilizza una determinata applicazione, che consentono di destinazione del test con maggiore precisione quando vengono rilasciati aggiornamenti di Windows. Update Compatibility Evaluator funziona, installando un driver in modalità kernel (fdrtrace.sys) che implementa l'hook di driver filtro file system e Registro di sistema per registrare l'attività di sistema e del Registro di sistema del file generato dalle applicazioni. Utilizza un servizio (uiaservice.exe) e un file eseguibile (uiaconvert.exe) per interpretare i dati e viene allineato alle applicazioni e l'accesso al file binari di Windows.

Agente bucketizer L'agente Bucketizer associa i dati raccolti da agenti analizzatori di compatibilità in magazzino del computer per classificare i problemi rilevati nel bucket per ciascuna applicazione.

Agente di programma di compressione Esattamente come i suoni di nome, lo scopo dell'agente di programma di compressione (compressor.exe) è per comprimere i file da caricare alla condivisione di file specificato in un file CAB per salvare la larghezza di banda della rete.

agente uploader L'agente Uploader è responsabile del caricamento i dati raccolti da altri agenti alla condivisione di file specificato. Il lavoro di questo agente è relativamente semplice, copiando i dati raccolti localmente nel percorso indicato. Se il percorso è inaccessibile, l'agente attende 5 secondi prima di riprovare. L'agente tenterà prima di concedere i tre volte.

Un'importante nuova funzionalità di ACT 5.5 è che i pacchetti di raccolta dati può essere "tag", configurato in modo che tutti i registri caricati da un pacchetto di insieme di dati specifico avrà un determinato tag applicati. È possibile in modo più efficace indirizzo alcuni scenari, ad esempio comprendere completamente i programmi software che viene utilizzato per ogni gruppo inventoried (in precedenza questo era difficile da misure di sovrapposizione delle applicazioni) o per il consolidamento dei dati di diversi gruppi o le organizzazioni.

servizio di elaborazione registro Il servizio di elaborazione di registro viene eseguito actdcsvc.exe come servizio. Se si ritiene che suoni familiare, è vero esattamente, si tratta di stesso servizio di framework dell'agente detto! In questo caso, esegue i seguenti tre agenti:

  • L'agente decompressore (decompressor.exe) è correlata all'agente di programma di compressione utilizzato su workstation che raccogliere da e consente di estrarre i file XML generati sul client dei file CAB utilizzate per caricarli. Una volta estratto, l'agente di listener rileva le modifiche e procedere.
  • L'agente di listener (listener.exe) controlla la directory specificata per le modifiche. Attende per rendere la posizione all'interno della directory monitorata le modifiche, quindi li elabora mediante l'invio di una chiamata RPC per l'agente di Accodamento messaggi.
  • L'agente Queuer (queuer.exe) imposta le porte per l'ascolto chiamate RPC dall'agente di listener. Quando riceve queste chiamate, elabora il file e carica il database. L'agente Queuer Sposta file XML completati dalla directory principale o cartella non compressa la cartella elaborati quando ha esito positivo. Se ha esito negativo, passa i file nella cartella non riuscita. Molto spesso, se un registro ha esito negativo per l'elaborazione, è possibile semplicemente spostarlo nuovamente nella directory principale della condivisione monitorata per riprovare e spesso questa avrà esito positivo.

Una domanda viene visualizzata molto spesso è se è necessario salvare questi file elaborati. Poiché i dati sono già nel database, tecnicamente non è necessario per salvarli, ed la maggior parte degli utenti è in modo sicuro eliminarli. Tuttavia, questi file possono entrare utili per ricostruire il database o per consolidare due database, pertanto è opportuno prendere in considerazione il futuro necessità di rigenerazione del database prima di eliminare i dati.

Database ACT

Gestione compatibilità applicazioni potrebbe essere in cui nella maggior parte della chiave, ciò si verifica, ma il database ACT è in cui risiede tutti i dati. Sono disponibili numerose tabelle del database ACT. Sebbene lo schema è non documentato, è molto semplice (ma, alas, soggetto a modifiche con quasi ogni nuovo rilascio del ACT). Tabelle importante includono applicazioni, computer, dispositivi e problemi e vengono utilizzati per organizzare tutte le informazioni restituito dai vari agenti ed elaborata dal servizio Registro di elaborazione.

Le applicazioni sono collegate a dati con un ID applicazione univoco generato utilizzando il nome, versione, fornitore e lingua (NVVL) dell'applicazione.

È possibile database host il ACT su Microsoft SQL Server 2005 o versioni successive, incluse le versioni Express. (SQL Server 2000 non è più supportato.) Gestione compatibilità applicazioni crea il database durante la fase iniziale della configurazione della configurazione dell'organizzazione di ACT. Lo script utilizzato per creare il database si trova in %allusersprofile%\Microsoft\Application Compatibility Toolkit 5\CreateDB.sql.

Un aspetto chiave del ACM è la possibilità di creare report. Per creare rapporti, filtro il database di ACT utilizzando un controllo di generatore di query in ACM, viene visualizzato quando si fa clic su Attiva / disattiva filtro. È possibile filtrare in base ai criteri relativi a entità di database ACT e collegare tali clausole per creare E e O relazioni. È possibile salvare il report come file .adq, ovvero un file XML che definisce i filtri utilizzati. Il file .adq è un formato portable che contiene i dati né dipende da un determinato set di dati.

Sincronizzazione in linea

Quando si esegue una sincronizzazione in linea, ACT utilizza un servizio di Web pubblico. Nelle versioni precedenti di ACT, ID applicazione univoci per tutto il software è stato inviato, ma è possibile nascondere la valutazione della compatibilità dalla comunità se si desidera inserire. Con 5.5 ACT, quando si decide di non condividere informazioni relative a un'applicazione ACT non invia l'ID di applicazione (il che significa anche che non si ricevono i dati di risposta).

I dati di comunità provengono dal database di Microsoft Compatibility Exchange e includono i dati di certificazione del logo e i dati della community (voti degli altri utenti). Un sistema distinto powers oggi windows.com/compatibility e i dati aggiunge il risultato della ricerca manuale in stato di compatibilità dei prodotti software disponibili commercio, 5.5 ACT sarà la prima versione di ACT per incorporare questo dati, che fornisce informazioni molto più lo stato noto di compatibilità in quanto non fosse disponibile in precedenza.

Analizzatore di utente standard

Standard User Analyzer (SUA) è costituito da diversi file binari per monitorare e analizzare l'esecuzione dell'applicazione e per comunicare i problemi che si verificano durante test dell'applicazione. L'interfaccia utente principale di SUA consente di assegnare un'applicazione per analizzare e selezionare le condizioni di avvio per questa applicazione. SUA verrà quindi utilizzare Application Verifier come la piattaforma sottostante per monitorare le applicazioni. Dopo l'esecuzione dell'applicazione di monitoraggio, SUA presenta i dati acquisiti nell'interfaccia utente di SUA in cui l'utente può lavorare per comprendere i dati e persino creare i pacchetti di attenuazione collegare l'infrastruttura di compatibilità di applicazioni Windows.

Application Verifier Application Verifier è uno strumento che offre agli sviluppatori un modo per controllare l'esecuzione dell'applicazione. SUA utilizza Application Verifier per tenere traccia comportamento dell'applicazione che potrebbe richiedere privilegi di amministratore da hook API specifiche e riproduzione relativo utilizzo.

Application Verifier implementa un modello di plug-in (che, come si è di questo scrittura, non è ancora documentato utilizzo pubblico) in cui può essere registrata e utilizzate per monitorare le applicazioni di destinazione DLL specifica. (Plug-in configurate utilizzando la chiave del Registro di sistema HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image file esecuzione Options\ {ApplicationVerifierGlobalSettings}.) La dll che SUA utilizza per monitorare le applicazioni è vfLuaPriv2.dll, che viene installato nella directory %windir%\System32 durante l'installazione. Il binario vfLuaPriv2.dll sostituisce vfLuaPriv.dll installati da Application Verifier.

Quando la SUA avvia un'applicazione per il testing, inizialmente verifica assicurarsi Application Verifier sia installato nel sistema e viene chiesto di installarlo se necessario. Successivamente, SUA utilizza l'interfaccia Application Verifier della riga di comando per registrare un'applicazione; ad esempio, se notepad.exe è assegnato per il monitoraggio, le chiamate SUA riga di comando sarà le operazioni seguenti:

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

Application Verifier corrisponde alla stringa luapriv con il nome specificato in vfLuaPriv2.dll.

Quando la SUA configura un'applicazione, indica inoltre Application Verifier per monitorare eventuali processi figlio creati da tale applicazione. Application Verifier crea un file di registro separato per ciascun processo, ma la SUA combina questi file di registro per creare un singolo report consolidati. SUA inoltre possibile salvare l'insieme di registri in un file CAB per la visualizzazione in un altro computer.

Analizzatore di utente standard dell'interfaccia utente SUA possibile testare un'applicazione in uno dei tre diversi contesti: avvio dell'applicazione con l'utente corrente del token con token disattivazione file e Registro di sistema virtualizzazione l'utente corrente o con autorizzazioni elevate. In ogni caso, SUA verrà avviato un processo con privilegi elevato, SUAnalyzerSrv.exe, poiché Application Verifier richiede autorizzazioni elevate per configurare. Figura 3 Mostra una struttura tipico processo durante la verifica notepad.exe.

fig03.gif

Nella figura 3 test Notepad.exe

SUAnalyzerSrv.exe e AppVerif.exe sempre verranno eseguiti con privilegi di amministratore per preparare l'ambiente per da sottoporre a test l'applicazione di destinazione. SUA verrà quindi avviare notepad.exe nel contesto di protezione specificata e attendere che l'applicazione e tutti i processi figlio terminare l'esecuzione. SUA quindi aggrega ed elabora i registri di Application Verifier e vengono visualizzati i risultati nell'interfaccia utente.

I risultati della SUA sono suddivisi in categorie di problemi, inclusi file, Registro di sistema, file INI, token, privilegi, spazio dei nomi, altri oggetti e processo. Queste categorie corrispondono a una scheda nella parte superiore dell'interfaccia utente di SUA e consentono di concentrarsi su diversi problemi come testare l'applicazione.

Il file e Registro di sistema di schede Mostra file operazioni di sistema o del Registro di sistema che sarebbe necessario disporre dei privilegi di amministratore. Luapriv Application Verifier plug-in controlla il comportamento di API rilevanti, ad esempio CreateFile o CreateRegistryKey per i casi in cui l'utilizzo sarebbe necessario disporre dei privilegi di amministratore. In alcuni casi, la caratteristica di controllo dell'account utente, file e il reindirizzamento del Registro di sistema consentirebbe queste operazioni eseguire in Windows Vista.

Ogni scheda racchiusi l'interfaccia utente in genere dovuto a luapriv monitoraggio il comportamento di un insieme di API. Ad esempio, la scheda INI illustra individuare i problemi relativi all'utilizzo delle API WriteProfile, originariamente utilizzato nelle applicazioni a 16 bit. Una descrizione di ogni scheda è disponibile nella documentazione di SUAnalyzer.rtf inclusa come parte dell'installazione di SUA. È possibile espandere gli eventi in ogni scheda per visualizzare informazioni dettagliate sull'evento, inclusa un'analisi dello stack per in cui nell'applicazione l'evento si è verificato.

Dopo avere esaminato i risultati del test un'applicazione, SUA consente di verificare e creare i pacchetti di attenuazione per un'applicazione. Un pacchetto di attenuazione è un file MSI che registra un database di compatibilità dell'applicazione in un sistema e può utilizzare loosen.exe, un'utilità che viene fornito con SUA per modificare il file o il Registro di sistema elenchi di controllo di accesso. È possibile distribuire i pacchetti di attenuazione all'interno dell'ambiente.

Strumento di test compatibilità di Internet Explorer

Lo strumento test compatibilità di Internet Explorer non funziona, consentendo di Internet Explorer Compatibility Evaluator (iece.exe). In ACT 5.0, è possibile distribuire l'analizzatore di come parte di un pacchetto di raccolta dei dati, ma poiché l'insieme richiesto già installato il browser di destinazione, questa è stata rimossa per 5.5 ACT. (Dopo tutto, individuazione che qualcosa non funziona dopo l'installazione è suboptimal; la maggior parte degli utenti preferisce individuare eventuali problemi prima di distribuire nuovo browser.)

Internet Explorer Compatibility Evaluator è abbastanza semplice, il lavoro solo deve eseguire diventa per modificare il Registro di sistema in modo che Internet Explorer consente di registrazione. Poiché il browser fornisce il rilevamento, la fedeltà dei dati è molto alta. Per informazioni dettagliate su tutti gli eventi che Internet Explorer può rilevare con indicazioni di monitoraggio e aggiornamento per ciascuna), vedere Compatibilità delle applicazioni di Internet Explorer.

Internet Explorer registra informazioni nel registro eventi e lo strumento test raccoglie informazioni dal Registro di sistema e consente di consolidare. È possibile analizzare le informazioni direttamente nello strumento oppure è possibile caricare gli eventi in un database ACT consolidato. Se si sceglie di caricare un database ACT, Internet Explorer Compatibility Evaluator eseguito agenti esattamente come gli agenti in esecuzione in un package di raccolta dati, prima collect.exe in esecuzione, quindi bucketizer.exe e infine compressor.exe, dopo il quale viene chiesto di un'ubicazione salvare il file CAB.

Conclusione

Che si conclude la presentazione in copertine di 5.5 il Toolkit di compatibilità applicazioni. Il prodotto include numerosi strumenti utili per supportare la migrazione a Windows Vista Windows 7, e per informazioni sulle ulteriori informazioni su quali ciascuno di essi non, sarà più in grado di valutare la possibilità di ogni strumento e investire in essi contenuti in modo appropriato.

Elena Jackson è il tecnico lead per il team Windows Application Experience SWAT presso Microsoft. Ha lavorato con i clienti aziendali tutto il mondo consentono di analizzare e ridurre i problemi di compatibilità delle applicazioni, nonché fornire istruzioni formazione sulla compatibilità delle applicazioni Windows per numerosi eventi del settore. Elena è possibile contattarlo all' https://blogs.msdn.com/cjacks.

Chris Corio è un membro del team Windows Security presso Microsoft per più di cinque anni. Suo obiettivo principale di Microsoft era tecnologie di protezione di applicazioni e tecnologie di gestione per la protezione di Windows. È possibile contattare Chris a winsecurity@chriscorio.com.