KUC is a small utility that will check what updates are installed, missing or removable on your Windows7, W2008R2 system.
[SP1 must be installed]
KUC will download all missing updates and install new and/or remove not needed once.
KUC is running on any computer with .Net 4.6.1 installed.
References of the following systems are included:
Win7 x64 and Win7 x86,
W2008R2 and W2008R2 Server Core,
WHS2011, WSS2008R2ess, SBS2011ess,
W7Ex64-online, W7Ex86-online, W7Ex64-install.wim, W7Ex86-install.wim
I have created these references from installation images (wims) that have all updates installed.
(Except the –online references)
You can easily manage KUC’s output file in Excel.
For each package, update or hotfix you get the following information:
[KB#]: The knowledgebase (KB) number of the update
[Version]: The version number of the update
[State]: The installation state of
the update: installed, install pending, staged, superseded.
Packages that have been added by KUC have an empty [State].
Update, Security Update, Hotfix, Language Pack, etc.
[Install Time]: The date and time, the package was installed.
The (short) name of the package.
[Language]: If the package is language depended, you find the installation language here.
(The information above depend on DISM)
[Filename]: The name of the .msu file of the package.
[Superseded]: Just ‘yes’ or (nothing). The result depends on my update list (see
Do not mix up this column with the [State] column. This column is set by KUC, the [State] column by the operating system.
Here you find the KB-number(s) of the update(s) that supersede this update. (Note: only the most recent update(s) can be found here, intermediate updates are ignored). (Example: KB3 supersedes KB2, witch supersedes KB1. For both, KB1 and KB2 this column will contain KB3)
[KUC-Type]: If a package only updates a specific feature or addition, the name of this feature or addition can be found her.
[KUC-State]: The column you should look at. (See Description below)
Special information about the package.
KUC also will check, if all of the superseding updates are installed. If some are not installed, you can find them here.
· ADD: update is missing.
· ADD/EXCLUSIVE: Those updates should be installed exclusively.
· ADD/GDR: Add this normal update to avoid Windows message “new updates are available”.
· ADD/LDR: Add this “BF” update to avoid Windows message “new updates are available”.
· ADDLATER: update is missing but you should to do something else before you install it, look at the [KUC-StateRemarks] column to find out more.
· BAD: Oh oh! Something was going wrong during the update installation. First, remove all BAD packages. Then try to add the package again.
· BAD/IGNORE: Something was going wrong during the update installation. You can’t remove this package directly. Try to reinstall GDR&LDR version of those KB#s.
· IGNORE: see [KUC-StateRemarks] for detail.
· KEEP: You should not or cannot remove this package.
· OK: I like those.
· OK/ADD: The package is missing; you could add it, but needn’t.
· OK/GDR: Keep this normal update to avoid Windows message: ’new updates are available’.
· OK/IGNORE: The package is copied from the reference because you checked 'do not ignore any' and irrelevant.
· OK/INFO: The package is installed; there may be some additional actions to perform.
· OK/LDR: Keep this “BF” update to avoid Windows message: ’new updates are available’.
OK/REMOVE: You can remove
this package. Look at [KUC-StateRemarks] for detail.
(Example: LDR “BF” version of this package is installed; you can remove the GDR version.)
get the KUC-state under several circumstances.
1. The OS marked this package as “Superseded” (in column [State]).
2. You have installed an update that was designed for the RTM version of windows or witch is included in service pack 1 (SP1).
3. This package is superseded and all of the superseding updates are installed.
In all these cases, you can remove the package.
· REMOVE/ADD: Normally you get this KUC-State, if you have installed a package in a lower version than that of the reference. So first remove the old and then add the new version.
· REMOVELATER: Most common reason for this KUC-State is: This package is superseded but not all superseding updates are installed!
New updates -not found in the reference- are also listed here.
If you get one of those and it is not a new update, please tell me, I may be able to add it to the reference. New updates will be included in the next release.
· … More to come on next releases
I also added some routines to handle special cases like "only install 2615701, if 2619234 is installed", or "not integratable", "don't integrate", ...
Just place the file in a folder you like. I suggest to use the folder C:\WU.
KUC does not make any changes to your System.
To run/use the program, you have two choices:
Choice 1. Create the packages.txt your own, on a computer, you want or from a wim-image, you like. Then run KUC and tell him were to find the packages.txt file.
Command to create the packages.txt file for online systems:
dism /online /get-packages /format:table /English >Packages.txt
Command to create the packages.txt file for offline images:
dism /imagepath:D:\Offlinepath /get-packages /format:table /English >Packages.txt
(Replace D:\offlinepath as you need)
Choice 2. Let KUC generate the packages.txt file of your online system.
(Not possible for server-core or wim-images.)
To do this you must run KUC as administrator. (KUC cannot run dism without this right.)
With the first choice you are able to check the [KUC-State] of computers of friends,
of computers that do not support KUC or of installation images.
Check Options 1:
KUC searches for windows additions that you
have installed on your system.
If an addition is installed “found”, the search for missing updates of this addition is automatically selected. All missing updates will be added to the output file with [KUC-State] “ADD”.
If an addition is not installed “not found” you can decide if you want to add it or leave it.
1. Leave it unchecked: All not needed packages will get the [KUC-State] “REMOVE”
2. Check it: The installation package of this addition and all superseding packages will be placed in the output file with [KUC-State] “ADD”.
All additions will be marked in the [KUC-Type] column.
Note: Not every addition can be integrated. For example “Management Framework” needs .Net 4.0, which is not available in most foundation wims. [KUC-StateRemarks] will inform you.
Note: All labels and checkboxes have tool-tips. So just move your cursor over them.
Don’t ignore any packages of the reference:
KUC normally ignores some packages of the reference with low relevance. This option should only be checked for special propose.
check for missing IE8 updates:
If IE9 is not found you cannot change this. KUC will search for missing IE8 updates.
If IE9 is found and the box is unchecked, IE8 updates will be treated as removable.
If IE9 is found and this box is checked KUC will search for missing IE8 updates.
check for missing RSAT (Remote Server Admin Tool) updates:
If RSAT is found, you cannot change this.
If RSAT is not found and the box is unchecked, remaining RSAT updates will be
marked as removable.
If you check the box, KUC will search for missing RSAT updates. Since RSAT updates are normal updates on servers, you cannot uncheck this box there. If you cannot install RSAT on a special foundation, this box is disabled.
AD LDS = Active Directory Lightweight Directory Services
VPC = Virtual PC
WIF = Windows Identity Foundation
WUA = Windows Update Agent
ADFS = Active Directory Federation Services
Media Server = just guess
ServerBPA = BPA for server foundation
BPA = Best Practice Analyzer
SystemReadiness = Tool for checking updates (registry and installation)
WinHelp = Utility to view help files created in Windows Help format.
Fmapi = File Management API
MSAgent = Microsoft Agent
NTBackup = the old NTBackup/Restore utility for Windows 7
BrowserChoice = User will be asked what browser he wants
WindowsActivation = http://support.microsoft.com/kb/971033/en-us
ClientBPA = BPA for client foundation
Management Framework = http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27548
disable AMD CorePark. = Update that disables AMD Core Parking
check for ALL Server Additions:
If the foundation is server, you select all possible server additions by one click.
check for ALL other Additions:
You can select all possible other additions by one click here.
After you make your decisions KUC starts to run and gives you a first overview of your installation.
Not installed Additions are red; installed are blue.
KUC found 341 packages (not updates) in
your windows installation and 1075 in the reference (+10 extra -95 ignored
(depending on your former decisions). KUC also found 761 packages that are not
present. Moreover, Oh-Oh 2 packages have a BAD KUC-State.
4 packages for IE8, 5 for IE9, 30 for VPC, 2 for WIF and five for the other additions are found in the input file.
There are +9 new packages for IE9, +4 new for VPC and +3 new for WIF. Nothing new could be found for the other additions. (“disable AMD CorePark.” is new; but was not selected).
Now let’s have a look on the 2. Option Window.
KUC found 767 packages to and 13 to remove
in your input file.
273 input packages have no Category (No Cat.) +612 (to add) and -10 (to remove).
20 input packages are for drivers +82 (to add) –3 (to remove).
1 input package is for Media +12 (to add). (Windows Media Player network share and/or Media Center).
2 input packages are for Group Policy +12 (to add) and none to remove.
Some options are disabled. This depends on
the foundation and the additions that are installed.
Note that the Vmdriver checkbox is disabled due to VPC is installed.
You do not have any “BF” packages (you did not use “force LDR installation”). There are +232 packages to add and -0 to remove.
Since you have no “BF” there are obviously no GDR/LDR combos.
You did not install any packages for the features IIS, MSMQ, NFS, SNMP or SUA.
As you can see KUC selected only the features that have been installed before.
Also, note that some updates belong to more than one category.
Select Check Options 2:
check for superseded updates:
KUC gives you an overview about all superseded updates installed on the test system. All no longer needed updates will get [KUC-State] “REMOVE”.
Note: This is a very important checking. Some users are wondering, why they get so much packages marked as “missing” on their systems, even if they had installed all of SoLoR updates.
If this box is unchecked, ALL missing updates (superseded or not) will be placed in the output file with [KUC-State] “ADD”. Therefore, if you do not want superseded updates leave this box checked.
use “GDR/LDR” to keep to avoid ‘update available’:
Some superseded updates will popup with ‘update available’ message if they are not installed. KUC takes care the this small number of updates are not removed form your system.
check for ‘force LDR install’ packages:
(This option is only checkable, if the ‘check for superseded updates’ option is selected.)
If you do not check this box ‘force LDR-installation’ packages will be ignored.
KUC check for updates that are present as GDR and LDR:
(This option is only checkable, if the ‘check for superseded updates’ and the ‘force LDR install’ option are selected.)
If you use a “force
LDR-installation“-method to install updates, sometimes updates are present in
GDR and LDR version. Normally there
is no reason to keep both.
Depending on the number of GDR/LDR combos, KUC will propose a checking now.
Note: This is a very important checking, too.
Users are often wondering, why KUC adds both (normal and BF_) versions to the
output file. You can control this with this check box.
If this box is unchecked KUC assumes, that you want both, the GDR and the LDR version of a package. Therefore, KUC adds both of them to the output file. Also if KUC finds both versions installed he does not mark the GDR version as removable.
If this box is checked, KUC will find GDR versions that you can remove and will only add the LDR (BF_) version of missing updates to the output.
Show Totals button:
Switching between detail and total view.
The Final Overview:
After selecting ‘check for GDR/LDR’ and ‘force LDR install’ and deselecting Group Policy feature updates, I get the scan results.
Since we use IE9 all of the IE8 packages can be removed: 4 +0 -4.
For IE9 there is 1 new packages to add and 3 old to remove: 5 +1 -3
VPC has 2 to add and 1 to remove: 30 +2 -1
WIF has 1 to add and 1 to remove: 2 +1 -1
No changes for the other additions are necessary.
We did not use ‘force LDR update install’ before, so the number of changes is huge.
Overall, there are 289 new packages to add and 244 to remove.
Most of them have No Category +247 -215.
KUC found +31 new driver packages to add and -18 old to remove.
All of the not superseded BF (LDR) packages are to add +109. Note since we do not want superseded packages, the number reduces form +229 (Select options 2) to +119 (overview 2).
In addition, there will be no IIS, MSMQ, NFS, SNMP and SUA packages in the output file. (We did not select them).
We wanted new Media packages, so there are +8 to add and -1 old to remove.
We do not want any Group Policy packages; therefore, there will be -2 packages to remove.
The output options have moved to the next screen.
Create output file for Excel:
KUC will create an output file that easily can be opened in Excel (tab-separated file).
Create output file for Notepad:
KUC will create an output file that easily can be opened in Notepad (List-File with fixed columns).
Skip “OK” packages in output file:
If you select this option KUC will not put packages with the following KUC-State to the output file: OK, OK/GDR, OK/LDR, KEEP and IGNORE.
Open output file in Excel/Notepad:
After creation, the output file is automatically opened in Excel/Notepad.
(Not checkable, if Excel/Notepad is not installed.)
All of the other new options are disabled due to “OLD RTM foundation parts found”. So I use another packages.txt file to explain the new features. (Look at the right picture)
Create a cmd-file to remove packages with [KUC-State] containing REMOVE or
Earlier versions of KUC created “Remove_old.cmd” automatically, now you can switch that on an off.
If you run this file, all packages with REMOVE or BAD state will be uninstalled.
For online installations, please install all missing updates first before running this file. For DVD image remove all not needed packages before adding the new updates.
Create a cmd-file to copy updates with [KUC-State] containing ADD:
Normally you have one folder containing all
the updates for Win7 or Win 2008 R2 (the repository).
The command file “Copy_files_2_add.cmd” copies all the files missing from this repository to a working folder. That eliminates searching, clicking and copying manually.
In my example all of the x64 updates for windows 7 and W2008R2 server are located in the folder:
and I want to use
as working folder.
The folders you select here are placed in the commandlets. You can also set these folders with the command line options:
Clicking the folder buttons opens a folder browser dialog. If a folder does not exist, the background color is red.
If the repository folder does not exist, you can’t create Copy_files_2_add.cmd or download missing files.
If the working folder does not exist, you can’t create update.cmd.
Create a Update.cmd:
(Not checkable, Copy to folder does not exist.)
This option creates an update.cmd file that installs all updates in the working folder.
Limit to 75 files:
If you have to install many updates and your system gets slower and slower use this option to limit the number of updates to install.
Download missing updates:
As you can see on the right side, 217 files are missing in the repository. With this new option KUC automatically downloads all missing updates to the repo. If this box is checked and if there are missing files, the “Download” button is enabled and the “Continue” button is disabled.
Clicking this button starts the downloader.
With this NumericUpdown you control the number of simultaneously downloads. Up to 9 are possible.
Show download detail:
If you check this box a separate window per download is opened, showing you detail about each of them.
The current number of downloads.
The current and the maximum download rate of all downloads.
max eta threads:
Shows the remaining time of all currently running downloads.
Missing features/ known issues / next to come:
· IE9-Beta not supported.
· I plan to implement a check for “staged” updates. (Staged updates are updates that are installed on the system but are not active, because the feature it belongs to is disabled. If you don’t plan to use this feature, there is no reason to keep the update.)
· Also the implementation of external references would be nice, so everyone can make his own standard references.
· If the computer you created the packages.txt file and the computer you check this file have different date/time formats, Excel will show wrong installation date.
Don’t run DISM or KUC
right after starting Windows, if you have installed updates before last reboot.
Windows might still be finishing update installation in the background. Just
wait until “TrustedInstaller.exe” shows no activity (Task Manager). Otherwise
you might get BAD KUC-State announcements that are false positive.
A request: English is not my mother tongue, so there will be many mistakes. Feel free to correct me.
Not to forget: Many thanks to all those who send me their packages.txt files.
Win8 hotfixes: http://windows-update-checker.com/win8
Support email: KUC.firstname.lastname@example.org