Comparing executable files in Windows Server 2008 in Full and Core installs

Windows Server 2008 Server Core installation is a minimal install of the upcoming Windows Server OS that can run specific roles (like DNS, Active Directory or File Server) with a much smaller footprint and attack surface.

In a previous blog post I looked into overall image sizes for both and also discussed some of the details about the differences between these Full and the Core installs. Now I am taking it one step further to look into the executable files in both installs. I will be presenting about this next Thursday and wanted to have a better feel for what’s really the difference between the two. My findings are presented below, first with some overall counts and then looking at files by group (only in Core, in both, only in full).

I looked only at executable for the grouped file names. My goal here is not to have a very precise list, but to get a feeling for how the two installs compare. Also note that Windows Server 2008 is in pre-release format today (there is a public Beta 3 and an MSDN-and-TechNet-subscribers-only release called June CTP or IDS3). Keep in mind that this data will most likely change before final release. My counts are based on an Enterprise edition, June CTP install. I did not load any roles after my install. I also did not include the pagefile.sys or any of the driver/installation files from C:WindowsSystem32DriverStore, C:WindowsSysMsiCache and C:Windowswinsxs.

WARNING! After reading the list below you might be tempted to start running applications just because you don’t know or don’t remember what they do. Please don’t do that. If you want to find out what an application or command does, search the Internet. If you start running these commands one by one you will end up with a hosed system. Proceed at your own risk…

Now, for the findings…

File sizes and counts

First, here’s a table with the number of files per extension on both types of install. The list is sorted by number of files per extension:

  Core Full
dll 904 1,960
mui 876 1,921
exe 274 462
inf 163 485
pnf 141 447
cat 111 410
sys 212 261
fon 189 192
mof 115 168
mum 53 202
other 836 2,707
total 3,874 9,215

Now here here’s a table with total size of files per extension on both types of install. It is sorted by total size of files per extension:

  Core Full
dll 194,222,621 1,046,602,066
ttf 66,931,536 180,406,932
ttc 71,748,756 141,006,768
imd 95,800,180 98,644,356
exe 39,484,233 77,126,097
mui 28,401,664 45,699,584
h1s 0 60,454,606
dat 26,840,852 32,105,023
dic 15,080,248 37,281,416
sys 22,717,860 26,069,852
other 195,456,877 430,138,287
total 756,684,827 2,175,534,987

As you can clearly see, core has less than half the number of executable files and saves you a lot of disk space as well. Now look at the executables files by group...


COM files, all are in both, all are under c:windowssystem32

This is an odd group. Stored in the old .COM executable format (before we had .COM web sites), these are probably here for compatibility only. Can you believe that edit.com (that old character-mode text editor) is still shipping with Windows Server 2008? At least edlin.com is not there anymore…

chcp.com, command.com, diskcomp.com, diskcopy.com, edit.com, format.com, graftabl.com, graphics.com, kb16.com, loadfix.com, mode.com, more.com, tree.com, win.com


EXE files only in Core

This is one was a suprise to me. There’s actually one EXE file that exists on a Core install and not on a Full install. It’s the tool that lists the roles available for installation on Server Core. The equivalent tool in the Full install is the –query option in the ServerManagerCmd tool.

c:windowssystem32oclist.exe


EXE files in both, under c:windowssystem32

This group has most of the tools we use on a daily basis to manage our servers. Most are command-line, but some are GUI-based, like taskmgr.exe and msinfo32.exe. Some tools are in subfolders (those are listed in the end) like sysprep, oobe (the out-of-the-box-experience tools that run on a fresh install), ime (the input method editor that supports double-byte characters) and wbem (windows management tools).

append.exe, arp.exe, at.exe, attrib.exe, auditpol.exe, autochk.exe, autoconv.exe, autofmt.exe, bcdedit.exe, bootcfg.exe, cacls.exe, cbsra.exe, ceipdata.exe, ceiprole.exe, certenrollctrl.exe, certreq.exe, certutil.exe, change.exe, chglogon.exe, chgport.exe, chgusr.exe, chkdsk.exe, chkntfs.exe, choice.exe, cliconfg.exe, clip.exe, cmd.exe, cmdkey.exe, comp.exe, compact.exe, conime.exe, control.exe, convert.exe, cscript.exe, csrss.exe, csrstub.exe, ctfmon.exe, dcgpofix.exe, dcpromowmic.exe, debug.exe, defrag.exe, dfrgfat.exe, dfrgifc.exe, dfrgntfs.exe, diskpart.exe, diskperf.exe, diskraid.exe, diskshadow.exe, dllhost.exe, dllhst3g.exe, dnscacheugc.exe, doskey.exe, dosx.exe, dpapimig.exe, driverquery.exe, drvinst.exe, drwatson.exe, edlin.exe, esentutl.exe, eventcreate.exe, exe2bin.exe, expand.exe, fastopen.exe, fc.exe, find.exe, findstr.exe, finger.exe, fltmc.exe, forfiles.exe, fsutil.exe, ftp.exe, gdi.exe, gpresult.exe, gpscript.exe, gpupdate.exe, help.exe, hostname.exe, icacls.exe, ipconfig.exe, iscsicli.exe, klist.exe, krnl386.exe, ksetup.exe, ktmutil.exe, ktpass.exe, label.exe, lnkstub.exe, lodctr.exe, logman.exe, logoff.exe, logonui.exe, lpksetup.exe, lpremove.exe, lsass.exe, lsm.exe, makecab.exe, mcbuilder.exe, mem.exe, mountvol.exe, mpnotify.exe, mrinfo.exe, mscdexnt.exe, msdt.exe, msdtc.exe, msg.exe, msiexec.exe, msinfo32.exe, muiunattend.exe, napstat.exe, nbtstat.exe, net.exe, net1.exe, netbtugc.exe, netcfg.exe, netdom.exe, netiougc.exe, netsh.exe, netstat.exe, newdev.exe, nlsfunc.exe, nltest.exe, notepad.exe, nslookup.exe, ntkrnlpa.exe, ntoskrnl.exe, ntprint.exe, ntvdm.exe, ocsetup.exe, odbcad32.exe, odbcconf.exe, openfiles.exe, pathping.exe, ping.exe, pkgmgr.exe, plasrv.exe, pnpunattend.exe, pnputil.exe, poqexec.exe, powercfg.exe, print.exe, qappsrv.exe, qprocess.exe, query.exe, quser.exe, qwinsta.exe, rdpclip.exe, rdpinit.exe, rdpshell.exe, rdpsign.exe, recover.exe, redir.exe, reg.exe, regedt32.exe, regsvr32.exe, relog.exe, replace.exe, reset.exe, rmclient.exe, robocopy.exe, route.exe, rsopprov.exe, runas.exe, rundll32.exe, runonce.exe, rwinsta.exe, sacsess.exe, sc.exe, schtasks.exe, sdbinst.exe, secedit.exe, secinit.exe, serverceipoptin.exe, serverweroptin.exe, services.exe, setspn.exe, setupcl.exe, setupugc.exe, setver.exe, setx.exe, sfc.exe, shadow.exe, share.exe, shutdown.exe, sigverif.exe, slsvc.exe, smss.exe, snmptrap.exe, sort.exe, subst.exe, svchost.exe, sxstrace.exe, sysedit.exe, syskey.exe, systeminfo.exe, takeown.exe, taskeng.exe, taskkill.exe, tasklist.exe, taskmgr.exe, tcpsvcs.exe, timeout.exe, tracerpt.exe, tracert.exe, tscon.exe, tsdiscon.exe, tskill.exe, tstheme.exe, typeperf.exe, ucsvc.exe, unattendedjoin.exe, unlodctr.exe, user.exe, userinit.exe, vds.exe, vdsldr.exe, verifier.exe, vssadmin.exe, vssvc.exe, w32tm.exe, waitfor.exe, wecutil.exe, werfault.exe, werfaultsecure.exe, wermgr.exe, wevtutil.exe, where.exe, whoami.exe, wininit.exe, winload.exe, winlogon.exe, winresume.exe, winrs.exe, winrshost.exe, winspool.exe, wlrmdr.exe, wowdeb.exe, wowexec.exe, wscript.exe, wsmanhttpconfig.exe, wsqmcons.exe, wuauclt.exe, wusa.exe, xcopy.exe, bootwinload.exe, bootwinresume.exe, comcomrepl.exe, imeimejp10imjpdsvr.exe, imeimejp10imjpmgr.exe, imeimesc5imscprop.exe, imeimetc10imtcprop.exe, imesharedimepadsv.exe, oobeaudit.exe, oobemsoobe.exe, oobeoobeldr.exe, oobesetup.exe, oobewindeploy.exe, sysprepsysprep.exe, wbemmofcomp.exe, wbemscrcons.exe, wbemunsecapp.exe, wbemwinmgmt.exe, wbemwmiadap.exe, wbemwmiapsrv.exe, wbemwmic.exe, wbemwmiprvse.exe


In both, all other EXE files

There are also a few other files that are not under c:windowssystem32. There’s no EXE files under c:program files in Core, but there is one on the boot folder and a few under the root of c:windows. One important tool on this group is regedit.exe.

c:bootmemtest.exe
c:windowsbfsvc.exe
c:windowsbootpcatmemtest.exe
c:windowsfveupdate.exe
c:windowsregedit.exe
c:windowsservicinggc32tzupd.exe
c:windowsservicingtrustedinstaller.exe
c:windowswinhelp.exe


EXE files only in Full, under c:windowssystem32

Now we start with the files that exist only in the Full install, starting with the ones living right at c:windowssystem32. Some are very familiar like mspaint.exe, write.exe, perfmon.exe, mmc.exe or good old calc.exe (which has been there since the very beginning of Windows). Others I beleive I never really used, like the tcmsetup.exe . Oddly enough, some are actually command-line tools like cipher.exe (the tool to encrypt files in NTFS). Note that some of the ime and wbem tools appear only here in the Full install, while some of their support files appeared in both.

acw.exe, adaptertroubleshooter.exe, alg.exe, atbroker.exe, audiodg.exe, bitsadmin.exe, bridgeunattend.exe, bthudtask.exe, calc.exe, cipher.exe, cmdl32.exe, cmmon32.exe, cmstp.exe, cofire.exe, colorcpl.exe, compmgmtlauncher.exe, computerdefaults.exe, consent.exe, cprepsrv.exe, credwiz.exe, dcomcnfg.exe, deviceeject.exe, deviceproperties.exe, dfrgui.exe, dialer.exe, diantz.exe, dispdiag.exe, dpiscaling.exe, dplaysvr.exe, dpnsvr.exe, dvdplay.exe, dvdupgrd.exe, dwm.exe, dwwin.exe, dxdiag.exe, efsui.exe, escunattend.exe, eudcedit.exe, eventvwr.exe, extrac32.exe, firewallcontrolpanel.exe, firewallsettings.exe, fixmapi.exe, fontview.exe, getmac.exe, grpconv.exe, hdwwiz.exe, iashost.exe, icsunattend.exe, ie4uinit.exe, ieunatt.exe, iexpress.exe, infdefaultinstall.exe, irftp.exe, iscsicpl.exe, locator.exe, magnify.exe, mdres.exe, mdsched.exe, mmc.exe, mrt.exe, msconfig.exe, msfeedssync.exe, mshta.exe, mspaint.exe, mstsc.exe, mtstocom.exe, narrator.exe, netplwiz.exe, nfsconfigguide.exe, oobe.exe, osk.exe, pcaelv.exe, pcalua.exe, pcaui.exe, perfmon.exe, prevhost.exe, printfilterpipelinesvc.exe, printui.exe, proquota.exe, provisionshare.exe, provisionstorage.exe, racagent.exe, rasautou.exe, rasdial.exe, rasphone.exe, regini.exe, rekeywiz.exe, relpost.exe, rmactivate.exe, rmactivate_isv.exe, rmactivate_ssp.exe, rmactivate_ssp_isv.exe, rpcping.exe, runlegacycplelevated.exe, scshost.exe, scss.exe, scw.exe, scwcmd.exe, scwviewer.exe, servermanagercmd.exe, servermanagerlauncher.exe, sethc.exe, setupnfsidmap.exe, shrpubw.exe, shvcnfg.exe, sllua.exe, slui.exe, sndvol.exe, spoolsv.exe, systempropertiesadvanced.exe, systempropertiescomputername.exe, systempropertiesdataexecutionprevention.exe, systempropertieshardware.exe, systempropertiesperformance.exe, systempropertiesprotection.exe, systempropertiesremote.exe, systray.exe, tapiunattend.exe, tcmsetup.exe, tpminit.exe, tscupgrd.exe, tsecimp.exe, tssetup.exe, ui0detect.exe, upnpcont.exe, utilman.exe, verclsid.exe, vssuirun.exe, wercon.exe, wextract.exe, winfxdocobj.exe, winver.exe, write.exe, wuapp.exe, wudfhost.exe, commigregdb.exe, imeimejp10imjpdadm.exe, imeimejp10imjpdct.exe, imeimejp10imjppdmg.exe, imeimejp10imjpuex.exe, imeimejp10imjpuexc.exe, imesharedimccphr.exe, wbemwbemtest.exe


EXE files only in Full, .NET Framework tools mostly under c:windowsmicrosoft.netframeworkv2.0.50727

The .NET Framework is included only in the Full install and that’s been widely publicized. Most of the tools are under the c:windowsmicrosoft.net but there are some EXE files for assemblies and installation files.  

applaunch.exe, aspnet_compiler.exe, aspnet_regbrowsers.exe, aspnet_regiis.exe, aspnet_regsql.exe, aspnet_state.exe, aspnet_wp.exe, caspol.exe, csc.exe, cvtres.exe, dfsvc.exe, dw20.exe, ieexec.exe, ilasm.exe, installutil.exe, jsc.exe, msbuild.exe, mscorsvw.exe, ngen.exe, regasm.exe, regsvcs.exe, vbc.exe

c:windowsassemblygac_msildfsvc2.0.0.0__b03f5f7f11d50a3adfsvc.exe
c:windowsassemblygac_msilnarrator6.0.0.0__31bf3856ad364e35narrator.exe
c:windowsassemblygac_msilnfsconfigguide1.0.0.0__31bf3856ad364e35nfsconfigguide.exe
c:windowsassemblygac_msilsetupnfsidmap1.0.0.0__31bf3856ad364e35setupnfsidmap.exe
c:windowsassemblynativeimages_v2.0.50727_32dfsvc119ad414ba010730b5c177024233ed9ddfsvc.ni.exe
c:windowsassemblynativeimages_v2.0.50727_32narrator48b6c857c4d42818737a51a69de7de01narrator.ni.exe
c:windowsassemblynativeimages_v2.0.50727_32nfsconfigguide5b1ea604ddbd5f631ec688532d881edanfsconfigguide.ni.exe
c:windowsassemblynativeimages_v2.0.50727_32setupnfsidmapf0283b408646b8c58be5f0dcf84cc56fsetupnfsidmap.ni.exe
c:windowsmicrosoft.netframeworknetfxsbs10.exe


EXE files only in Full, all other folders

This last group is actually an interesting one. It includes all EXE files that are directly under the c:windows folder or somewhere under c:program files. Included here are the previously-hard-to-remove-from-the-OS files iexplore.exe and explorer.exe. There’s also the unusual fact that msinfo32.exe appears twice in a Full install (under c:windowssystem32 and under c:program files as listed below), but only once in Core. Wordpad.exe and the Windows address book (wab.exe) are here, but winmail.exe (which replaces Outlook Express) is an optional component, part of the “Desktop Experience” role (which could be useful in a terminal server environment).

c:program filescommon filesmicrosoft sharedinkpipanel.exe
c:program filescommon filesmicrosoft sharedmsinfomsinfo32.exe
c:program filesinternet exploreriedw.exe
c:program filesinternet explorerieinstal.exe
c:program filesinternet explorerieuser.exe
c:program filesinternet exploreriexplore.exe
c:program fileswindows mailwab.exe
c:program fileswindows mailwabmig.exe
c:program fileswindows ntaccessorieswordpad.exe
c:windowsexplorer.exe
c:windowshelppane.exe
c:windowshh.exe
c:windowswinhlp32.exe
c:windowsmsagentagentsvr.exe
c:windowsspeechcommonsapisvr.exe