Skip to main content

What is the Application Block Detector on Windows 7?


My firewall has recently started warning me that the application queryappblock.exe is trying to reach the internet.


Google did not provide useful information except, for this MSDN page http://msdn.microsoft.com/en-us/library/dn440719(v=pandp.60).aspx about Transient Fault Handling. This machine is not running cloud services but, does have VS2010 and 2012 installed.


Are they related and either way, what is it?



Answer




The QueryAppBlock.exe file comes with the KB2952664 update, which applies to Windows 7 SP1. There's no official documentation; below you can find the information I gathered.


Customer Experience Improvement Program (CEIP)



CEIP collects information about how our customers use Microsoft programs and about some of the problems they encounter. Microsoft uses this information to improve the products and features customers use most often and to help solve problems.


Source: Microsoft Customer Experience Improvement Program



If you opt in, Windows collects statistical information about your system. A summary of the aggregated data is periodically uploaded to Microsoft servers.



The information that is sent includes details about the computer hardware configuration (such as the number of processors and screen resolution), performance and reliability (such as how quickly a program responds when you click a button), and information about use of the system (such as how many folders a user typically creates on the desktop).


Source: Windows Customer Experience Improvement Program and Resulting Internet Communication in Windows 7 and Windows Server 2008 R2



KB2952664



This update helps Microsoft make improvements to the current operating system in order to ease the upgrade experience to the latest version of Windows.


Source: Compatibility update for upgrading Windows 7



The description is pretty vague, but what it really does is update the application telemetry libraries bundled with Windows 7. In particular, the update is aimed at detecting and collecting compatibility issues that may arise when upgrading to newer operating systems (i.e. Windows 8.x.).


These files will be updated:


C:\Windows\System32\aeinv.dll
C:\Windows\System32\aepdu.dll
C:\Windows\System32\aepic.dll

And these will be added:


C:\Windows\System32\CompatTel\aeinv.dll
C:\Windows\System32\CompatTel\compatctrl.dll
C:\Windows\System32\CompatTel\compatplugin.dll
C:\Windows\System32\CompatTel\compatResources.dll
C:\Windows\System32\CompatTel\cosquery.dll
C:\Windows\System32\CompatTel\DevInv.dll
C:\Windows\System32\CompatTel\drvmain32.sdb
C:\Windows\System32\CompatTel\drvmain64.sdb
C:\Windows\System32\CompatTel\hwcompat32.txt
C:\Windows\System32\CompatTel\hwcompat64.txt
C:\Windows\System32\CompatTel\hwexclude32.txt
C:\Windows\System32\CompatTel\hwexclude64.txt
C:\Windows\System32\CompatTel\QueryAppBlock.exe
C:\Windows\System32\CompatTel\sdbapiu.dll
C:\Windows\System32\CompatTel\setupcompat.dll
C:\Windows\System32\CompatTel\sysmain32.sdb
C:\Windows\System32\CompatTel\sysmain32runtime.sdb
C:\Windows\System32\CompatTel\sysmain64.sdb
C:\Windows\System32\CompatTel\sysmain64runtime.sdb
C:\Windows\System32\CompatTel\wdscore.dll
C:\Windows\System32\CompatTel\wica.dll
C:\Windows\System32\CompatTel\wica.ini
C:\Windows\System32\CompatTel\wicainventory.exe
C:\Windows\System32\CompatTel\CompliancePlugins\DVDPlaybackCompat.dll
C:\Windows\System32\CompatTel\CompliancePlugins\GadgetCompliance.dll
C:\Windows\System32\CompatTel\CompliancePlugins\MediaCenterCompat.dll
C:\Windows\System32\CompatTel\CompliancePlugins\SBCompatPlugin.dll
C:\Windows\System32\CompatTel\CompliancePlugins\TouchCompat.dll

Additionally, a Microsoft Compatibility Appraiser scheduled task will be created.


QueryAppBlock.exe


It's a command-line utility with no user interface. It was first included with the Windows Vista Upgrade Advisor tool, and has since been bundled with newer versions designed for Windows 7 and later.


Its purpose is to scans your hardware, devices, and installed programs for known compatibility issues with a newer Windows version by comparing them against a specific database. A report is created afterwards.



The compatibility infrastructure uses a database to identify application compatibility issues and their solutions. This database is an indexed binary file with an .sdb extension. The compatibility infrastructure provides a programming interface to access the database.


Compatibility issues can be addressed on an application-by-application basis at run time. Each application specified in the database contains one or more components that need a solution. Components are executable files that are generally described using their file attributes (for example, checksum).


Source: Application Compatibility Database



When manually run with no parameters, the program will display a brief description along with the command usage:


Application, device and bios block detector.

USAGE:
queryappblock.exe /APPS /APPINV ProgramInventoryFile /DEVINV DeviceInven
toryFile /out AppBlockOutputFile /os UpgradeToOSVersion /appSdb SysmainSDBFile [
64BitSysmainSDBFile] /LOG loggingDirectory binDirectory [/REDUCED /runtimeAppSdb
RuntimeSysmainSdbFile [64BitRuntimeSysmainSdbFile]]

[...]

Further reading



Comments

Popular Posts

How do I transmit a single hexadecimal value serial data in PuTTY using an Alt code?

I am trying to sent a specific hexadecimal value across a serial COM port using PuTTY. Specifically, I want to send the hex codes 9C, B6, FC, and 8B. I have looked up the Alt codes for these and they are 156, 182, 252, and 139 respectively. However, whenever I input the Alt codes, a preceding hex value of C2 is sent before 9C, B6, and 8B so the values that are sent are C2 9C, C2 B6, and C2 8B. The value for FC is changed to C3 FC. Why are these values being placed before the hex value and why is FC being changed altogether? To me, it seems like there is a problem internally converting the Alt code to hex. Is there a way to directly input hex values without using Alt codes in PuTTY? Answer What you're seeing is just ordinary text character set conversion. As far as PuTTY is concerned, you are typing (and reading) text , not raw binary data, therefore it has to convert the text to bytes in whatever configured character set before sending it over the wire. In other words, when y...

linux - Extract/save a mail attachment using bash

Using normal bash tools (ie, built-ins or commonly-available command-line tools), is it possible, and how to extract/save attachments on emails? For example, say I have a nightly report which arrives via email but is a zip archive of several log files. I want to save all those zips into a backup directory. How would I accomplish that? Answer If you're aiming for portability, beware that there are several different versions of mail(1) and mailx(1) . There's a POSIX mailx command, but with very few requirements. And none of the implementations I have seem to parse attachments anyway. You might have the mpack package . Its munpack command saves all parts of a MIME message into separate files, then all you have to do is save the interesting parts and clean up the rest. There's also metamail . An equivalent of munpack is metamail -wy .

performance - Single Threaded Qaud Core v.s Hyper-Threading Dual Core

Let's say we have two CPUs, One is Quad Core 3.2 Ghz with 4 Cores, and We have a Dual Core 3.2 Ghz with 2 Cores with 2 threads in each Core (Hyper-Threading). My assumption as a programmer will be, the 4 cores 4 threads should perform faster than 2 cores 4 threads since the second CPU needs to switch between threads in order to emulate 4 cores while the first one doesn't need to perform such switching as each core can perform independently and individually. I want to confirm that my assumption is true, if not please explain why one is better than the other. Answer I do believe thats true - since hyper threading does share some elements - specifically the main execution resources, you'll be able to run 4 full threads at once, rather than waiting for those resources to be freed up. The point of HT is to get better performance with a smaller use of die area - your quad core would generally be a bigger chip - say almost twice as large, than a non HT dual core chip, while a HT...

freeze - How do I stop windows 8.1 from freezing when the screen locks

This happens to me on a regular basis if I leave the computer for upwards of 10 minutes. It didnt do so at first but started after a couple of days. This is possibly related to further windows updates although nothing seems to tie in obviously when looking at my update history. I have to hold the power button in to power off. If the screens have switched off aswell they wont come back on, if they haven't I see the login picture and can move the mouse pointer but nothing happens and no combination of keyboard mashes or mouse clicks lets me see the login prompt. In the event log (type event viewer into the start menu) under system before every Critical problem (me powering down the machine without restarting) I get distributedCOM errors talking about this guid: "The server {BF6C1E47-86EC-4194-9CE5-13C15DCB2001} did not register with DCOM within the required timeout." I also get the same error for this 1B1F472E-3221-4826-97DB-2C2324D389AE. This seems to be a common theme and...