Recommended Posts

Is there anything I can do to reduce the size of the winsxs folder ?

Currently I have a winsxs folder of 6.5 GB, wich is over half the size of my total windows folder... searches on the winsxs folder didn't help me much. and it seems like there's a lot of stuff I have absilutely no use for in there.

Link to comment
https://www.neowin.net/forum/topic/590216-large-winsxs-folder/
Share on other sites

That's the native assembly cache. Libraries which are shared by multiple programs are stored there. It's the magic thing that (more or less) fixed "DLL Hell."

Deleting anything in there will probably break apps on your system, and could prevent your entire system from working properly. Don't mess with it.

The safest way to clean it out is by simply uninstalling apps in your system via Add/Remove Programs, I'm afraid. I can understand if some apps leave those files there too, though, even after uninstall, just because it's usually DLL's intended to be shared between apps that resides there. So some/many may be left behind even if no app no longer use them. But I'm not aware of a "safe" way to detect which are used by actual installed apps or not.

  • 2 months later...

I understand the concept of WinSXS but why do I need to have 7 count 'em 7 versions of iexplore.exe there? I use a web based app that periodically scans my machine to be sure I have the most recent version of applications and drivers. Today when it ran it found these 7 instances. This makes NO sense. I understand multiple instances of the same DLL, but not this.

Gary

I understand the concept of WinSXS but why do I need to have 7 count 'em 7 versions of iexplore.exe there? I use a web based app that periodically scans my machine to be sure I have the most recent version of applications and drivers. Today when it ran it found these 7 instances. This makes NO sense. I understand multiple instances of the same DLL, but not this.

Gary

Just leave it alone, and don't question why it does the things the way it does: Mucking about with that folder is literally begging Vista to stop working properly.

Just leave it alone, and don't question why it does the things the way it does: Mucking about with that folder is literally begging Vista to stop working properly.

Oh, I realize that, but it just seems BIZARRE that it would keep 7 versions of an application. Again, I understand the need to keep multiple versions of a DLL (I am an MCSP), but why an application??? No other app is going to be able to request a specific version of an EXE file like it can a DLL. This just appears to be bloat for bloats sake.

Anyone have any technical insight into why Vista is keeping copies of EXE's in WinSXS?

Gary

Oh, I realize that, but it just seems BIZARRE that it would keep 7 versions of an application. Again, I understand the need to keep multiple versions of a DLL (I am an MCSP), but why an application??? No other app is going to be able to request a specific version of an EXE file like it can a DLL. This just appears to be bloat for bloats sake.

Anyone have any technical insight into why Vista is keeping copies of EXE's in WinSXS?

Gary

Quite possibly from different Windows Updates being applied that are being cached (they may also be cached in C:\WINDOWS\SoftwareDistribution). It's basically a backup mechanism to make sure that everything works correctly. WinSxS keeps copies of different versions of DLL's in case an application explicitly requires or requests one. Leave it alone.

Oh, I realize that, but it just seems BIZARRE that it would keep 7 versions of an application. Again, I understand the need to keep multiple versions of a DLL (I am an MCSP), but why an application??? No other app is going to be able to request a specific version of an EXE file like it can a DLL. This just appears to be bloat for bloats sake.

Anyone have any technical insight into why Vista is keeping copies of EXE's in WinSXS?

Gary

Well, you can call functions and access resources in EXEs the same way you can from DLLs (You generally don't use EXEs as libraries like that, but you certainly can.).

The only real difference between DLLs and EXEs is that DLLs don't contain entry points, so they can't be executed by themselves.

Quite possibly from different Windows Updates being applied that are being cached (they may also be cached in C:\WINDOWS\SoftwareDistribution). It's basically a backup mechanism to make sure that everything works correctly. WinSxS keeps copies of different versions of DLL's in case an application explicitly requires or requests one. Leave it alone.

I set about once to delete the ENTIRE folder. I deleted a good amount, and could still reboot and work normally. But at some point, and I'm not sure when---a reboot led to a reboot-loop. The ONLY way to determine what is safe and what is not safe to delete from that folder is by trial and error, careful documentation, and the patience to reinstall Vista a gazilion times. But...oh the fame that awaits the person who can write the definitive guide on this, like that fellow did with "slimming down XP".

it helps to avoid app compatability problems and dll hell problems,leave it alone as windows will manage it for you.

I realize that. I said in the message that you replied to that I am an MSCP and understand the reasoning behind WinSXS and DLL hell. I don't understand the need for EXE files there though.

Quite possibly from different Windows Updates being applied that are being cached (they may also be cached in C:\WINDOWS\SoftwareDistribution). It's basically a backup mechanism to make sure that everything works correctly. WinSxS keeps copies of different versions of DLL's in case an application explicitly requires or requests one. Leave it alone.

Yes, it keep DLL's. I know that and I know WHY it does that. But what about 7 versions of an EXE? That makes NO sense.

Well, you can call functions and access resources in EXEs the same way you can from DLLs (You generally don't use EXEs as libraries like that, but you certainly can.).

The only real difference between DLLs and EXEs is that DLLs don't contain entry points, so they can't be executed by themselves.

Yeah, technically you COULD use an EXE as a library. I have been doing Windows programming since Windows 1.0 and can not remember the last time I saw ANY such use. I also think that would be TOTALLY outside the development guidelines Microsoft suggests for developers. With todays development environment, I think you'd have to jump through all sorts of hoops to use an EXE as a library. So, I still don't understand why WinSXS needs 7 versions of Internet Explorer???

I am going to ask this on the MSDN developers forum and see if I can get some explanation. I'll let you folks know what I find out.

Gary

I am going to ask this on the MSDN developers forum and see if I can get some explanation. I'll let you folks know what I find out.

Thank you for pursuing this, I'm looking forward to see what they say. :)

Very disappointed that so many people are apparently ignoring you when you say "but WHY???"... Some of us do care about the why! Just telling us "don't touch. it's magic." just doesn't cut it.

Yeah, technically you COULD use an EXE as a library. I have been doing Windows programming since Windows 1.0 and can not remember the last time I saw ANY such use. I also think that would be TOTALLY outside the development guidelines Microsoft suggests for developers. With todays development environment, I think you'd have to jump through all sorts of hoops to use an EXE as a library. So, I still don't understand why WinSXS needs 7 versions of Internet Explorer???

I've seen it done with .NET assemblies a few times.

I've seen it done with .NET assemblies a few times.

Yes, there is no doubt that you can use an EXE as a library. But as I think we both agree it is way out of the "norm" and if memory serves me, is a real "no no" under the Windows development guidelines. It still seems odd, though ESPECIALLY in relation to Internet Explorer 6, don't you think? I can't think of an single scenario, where by an application would call for a SPECIFIC version of IE6. If I had found lets say version 4 5 and 6 of Internet Explorer in WinSXS, I could see a POSSIBLE case to be made for that. But seven minor versions of IE does not make any sense at all.

I am awaiting a response in the MDSN forums. Film at 11.

Gary

Did you install any foreign language packs? If you turn on optional updates and let Windows install everything, you might have gotten dozens of foreign language packs you probably don't want.

I just checked and mine is about 4 GB, without any language packs.

Also, I don't believe a non-.NET exe can be loaded as a library. You can use a .NET exe as a library because it isn't a native Windows exe, just a stub that loads the program using the .NET runtime.

True ... why so many (upto 7 someone here said) versions of file/s have to be stored is indeed intriguing ! Nevertheless, it is best not to delete anything from the folder, as it could break an application or even make your system un-workable. I have put info in brief about The Secret Of Vista's Winsxs Folder at my site; but yes I too would like to learn the answers to some of the questions raised here.

  • 2 months later...
Yeah, technically you COULD use an EXE as a library. I have been doing Windows programming since Windows 1.0 and can not remember the last time I saw ANY such use. I also think that would be TOTALLY outside the development guidelines Microsoft suggests for developers. With todays development environment, I think you'd have to jump through all sorts of hoops to use an EXE as a library. So, I still don't understand why WinSXS needs 7 versions of Internet Explorer???

People use EXEs as COM servers all the time. wmplayer.exe, for instance. However, I'm not sure there are any cases where side-by-side EXEs are actually used in that way. It's possible that support exists for that, however.

My guess is that they're also kept there for rollback purposes, assuming these are Windows components you're seeing that have been updated multiple times by WU.

This is becoming unmanageable as far as backups go..I already have over 600 mgs in my common files and 6+ gigs in winsxs... Is this thing going to just keep growing forever?

I may have to rethink my partitioning and backup strategies .

You back up WinSxS?

Also, I don't believe a non-.NET exe can be loaded as a library. You can use a .NET exe as a library because it isn't a native Windows exe, just a stub that loads the program using the .NET runtime.

What do you mean by "loaded as a library?" Do you mean loaded in-process? Surely, tons of native EXEs are run as out-of-process "libraries" (COM servers and the like).

  • 7 months later...

You Guys asked what is it and why is it so big and can i delete it well here's the full skinny on WINSXS

A commonly asked question among people looking at a Windows Vista or Windows Server 2008 installation is ?why is the WinSxS folder so big?!? To answer that question I need to first describe componentization, and how components are managed in Windows Vista.

One of the largest changes between previous versions of Windows and Windows Vista was a move from an INF described OS to componentization. A component in Windows is one or more binaries, a catalog file, and an XML file that describes everything about how the files should be installed. From associated registry keys and services to what kind security permissions the files should have. Components are grouped into logical units, and these units are used to build the different Windows editions.

All of the components in the operating system are found in the WinSxS folder ? in fact we call this location the component store. Each component has a unique name that includes the version, language, and processor architecture that it was built for. The WinSxS folder is the only location that the component is found on the system, all other instances of the files that you see on the system are ?projected? by hard linking from the component store. Let me repeat that last point ? there is only one instance (or full data copy) of each version of each file in the OS, and that instance is located in the WinSxS folder. So looked at from that perspective, the WinSxS folder is really the entirety of the whole OS, referred to as a "flat" in down-level operating systems. This also accounts for why you will no longer be prompted for media when running operations such as System File Checker (SFC), or when installing additional features and roles.

That explains why the folder starts off big, but not why it gets larger over time ? the answer to that question is servicing. In previous versions of Windows the atomic unit of servicing was the file, in Windows Vista it?s the component. When we update a particular binary we release a new version of the whole component, and that new version is stored alongside the original one in the component store. The higher version of the component is projected onto the system, but the older version in the store isn?t touched. The reason for that is the third part of why the component store gets so large.

Not every component in the component store is applicable, meaning that not every component should be projected onto the system. For example, on systems where IIS is available but has not been installed, the IIS components are present in the store, but not projected into any location on the system where they might be used. If you?re familiar with how multi-branch servicing works in previous versions of Windows then it?ll make sense to you that we have a different version of the component for each distribution branch and service pack level, and that all these different versions are also stored in the WinSxS folder, even if they?re not immediately applicable. So a single Post SP1 GDR package that contains an update to one component will end up installing four versions of that component in the WinSxS folder ? double that on a 64 bit operating system for some components.

Now that you know why the store can grow to be so large, your next question is probably to ask why we don?t remove the older versions of the components. The short answer to that is reliability. The component store, along with other information on the system, allows us to determine at any given time what the best version of a component to project is. That means that if you uninstall a security update we can install the next highest version on the system ? we no longer have an ?out of order uninstall? problem. It also means that if you decide to install an optional feature, we don?t just choose the RTM version of the component, we?ll look to see what the highest available version on the system is. As each component on the system changes state that may in turn trigger changes in other components, and because the relationships between all the components are described on the system we can respond to those requirements in ways that we couldn?t in previous OS versions.

The only way to safely reduce the size of the WinSxS folder is to reduce the set of possible actions that the system can take ? the easiest way to do that is to remove the packages that installed the components in the first place. This can be done by uninstalling superseded versions of packages that are on your system. Service Pack 1 contains a binary called VSP1CLN.EXE, a tool that will make the Service Pack package permanent (not removable) on your system, and remove the RTM versions of all superseded components. This can only be done because by making the Service Pack permanent we can guarantee that we won?t ever need the RTM versions.

So yes, the WinSXS folder is very large, and it will continue to grow as the OS ages. I hope that this clears up some of the questions about why that is, and what you can do about it. Note that the Windows servicing structure and the layout of the store is subject to change.

Joseph Conway

Senior Support Escalation Engineer

Microsoft Enterprise Platforms Support

Posted: Wednesday, September 17, 2008 2:18 PM by jeffhugh

Filed under: Windows Server 2008, Windows Vista

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • WinSnap 6.2.3 by Razvan Serea WinSnap is a fast and user-friendly utility for taking and editing screenshots. It easily captures windows with rounded corners and transparent backgrounds from Aero Glass on Windows 7 to Mica Material on Windows 11. Right after capture, WinSnap instantly enhances screenshots with professional-looking shadows, reflections, outlines, highlights, watermarks, arrows, shapes and text annotations. WinSnap runs on Windows 11, 10, 8, 7, Vista and XP (32-bit and 64-bit). It handles Aero Glass and shadows on all supported OS. Native 64-bit version is included in the setup package. WinSnap key features: Flexible screen capture capabilities Smoothing shadow effect in Photoshop style Powerful image processing and basic canvas transformations Support of various image formats and advanced auto-save options Easy Web publishing and E-Mail sending Multilingual user interface (Unicode based) Easy makes screenshots of windows with rounded corners WinSnap saves info about window form and adds real smoothing shadows. Alpha-Channel and PNG/TIFF transparency are supported. Unique "Application" capture mode allows you to capture all visible windows of the foreground application with one click. Unique "Multi-Object" capture mode allows you to select multiple windows on the screen and easy combine them into one screenshot. Basic coloring effects and canvas transformations. Advanced auto-save and auto-copy options. Configurable External Tools menu to open image editors and optimizers. Usual keyboard and mouse control (Print Screen replacement). Advanced resize feature: to width/height and to percentage Outline color and larger shadows for shapes and text Pixelate tool to hide sensitive information on screenshots Larger icons and buttons for high-DPI screens Number keys are used for tool selection now WinSnap 6.2.3 changelog: Added Czech language and polished 12 other translations Live window resize without "Processing..." text Optimized drawing of multiple complex objects on screenshot Improved shadow/blur generation speed on 4k+ resolutions Reduced memory usage in region capture mode Fixed an issue with reflection in 24bpp format Some other minor improvements and bug fixes Download: WinSnap 6.2.3 | 3.6 MB (Shareware) View: WinSnap Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Sandboxie Plus 1.17.7 / Classic 5.72.7 by Razvan Serea Run programs in a sandbox to prevent malware from making permanent changes to your PC. Sandboxie allows you to run your browser, or any other program, so that all changes that result from the usage are kept in a sandbox environment, which can then be deleted later. Sandboxie is a sandbox-based isolation software for 32- and 64-bit Windows NT-based operating systems. It is being developed by David Xanatos since it became open source, before that it was developed by Sophos (which acquired it from Invincea, which acquired it earlier from the original author Ronen Tzur). It creates a sandbox-like isolated operating environment in which applications can be run or installed without permanently modifying the local or mapped drive. An isolated virtual environment allows controlled testing of untrusted programs and web surfing. Sandboxie is available in two flavors Plus and Classic. Both have the same core components, this means they have the same level of security and compatibility. What's different is the user interface the Plus build has a modern Qt based UI which supports all new features that have been added since the project went open source. The Classic build has the old no longer developed MFC based UI, hence it lacks support for modern features, these features can however still be used when manually configured in the Sandboxie.ini. Sandboxie Plus 1.17.7 / Classic 5.72.7 release notes: Added added a Global Settings checkbox for ForceBoxDocs under Program Control > Force Process Options Changed disabled rich text acceptance in 'Edit ini Section' baa6968 extended completion system with context-aware filtering, improved INI key resolution, regex updates, and tooltip placement enhancements 6db2a04 Fixed fixed crash in VMware when running inside sandbox caused by NtQueryDirectoryObject hook returning non-null-terminated strings and uninitialized padding bytes in OBJECT_DIRECTORY_INFORMATION structures, which caused QueryDosDeviceW to crash in wcscmp #5390 Add short-name fallback cache and heuristics #5404 fixed addon setup not working introduced in a recent build fixed Starting from version 1.17.4, using the 'Sandbox with Data Protection' type box causes PowerShell to wait indefinitely, while there is no such bug with other types. #5408 fixed Importing encrypted box no longer creates encrypted image in v1.17.6 #5399 fixed EditorSettings fuzzy matching not applied, showing few/no completion entries, and table cell highlighting not updating fixed Error enumerating and deleting folder. #5406 fixed black box import/export when 'ProtectAdminOnly=y' (default) and SandMan does not run as admin Download: Sandboxie Plus (64-bit) | 23.3 MB (Open Source) Download: Sandboxie Classic (64-bit) | 3.0 MB Links: Sandboxie Website | GitHub | ARM64 | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Ocenaudio 3.19.2 by Razvan Serea  Ocenaudio is a full featured, fast and easy to use audio and music editor. It is the ideal software for people who need to edit and analyze audio files without complications. Ocenaudio also has powerful features that will please more advanced users. To assist ocenaudio development, a powerful toolset of audio editing, analysis and manipulation called Ocen Framework was created. ocenaudio is also based on Qt framework, a well known library for cross-platform development. Cross-platform support ocenaudio is available for all major operating systems: Microsoft Windows, Mac OS X and Linux. Native applications are generated for each platform from a common source, in order to achieve excelent performance and seamless integration with the operating system. All versions of ocenaudio have a uniform set of features and the same graphical interface, so the skills you learn in one platform can be used in the others. VST plugins support Ocenaudio supports VST (Virtual Studio Technology) plugins, giving its users access to numerous effects. Like the native effects, VST effects can use real-time preview to aide configuration. Real-time preview of effects Applying effects such as EQ, gain and filtering is an important part of audio editing. However, it is very tricky to get the desired result by adjusting the controls configuration alone: you must listen the processed audio. To ease the configuration of audio effects, ocenaudio has a real time preview feature: you hear the processed signal while adjusting the controls. The effect configuration window also includes a miniature view of the selected audio signal. You can navigate on this miniature view in the same way as you do on the main interface, selecting parts that interest you and listening to the effect result in real time. Multiselection for delicate editions To speed up complex audio files editing, ocenaudio includes multi-selection. With this amazing tool, you can simultaneously select different portions of an audio file and listen, edit or even apply an effect to them. For example, if you want to normalize only the excerpts of an interview where the interviewee is talking, just select them and apply the effect. Eficient edition of large files With ocenaudio, there is no limit to the length or the quantity of the audio files you can edit. Using an advanced memory management system, the application keeps your files open without wasting any of your computer's memory. Even in files several hours long, common editing operations such as copy, cut or paste happen almost instantly. Fully featured spectrogram Besides offering an incredible waveform view of your audio files, ocenaudio has a powerful and complete spectrogram view. In this view, you can analyze the spectral content of your audio signal with maximum clarity. Advanced users will be surprised to find that the spectrogram settings are applied in real time. The display is updated immediately when altering features such as the number of frequency bands, window type and size and dynamic range of the display. Ocenaudio 3.19.2 changelog: Fixes a crash when starting the graphical interface without a display on Linux Fixes MP3 metadata encoding and ID3 tag writing issues on Windows Fixes a crash when loading audio with autosave enabled on Windows user paths containing non-ASCII characters Fixes a freeze when batch-processing more than 5 files with a 64-bit VST plugin Fixes some conditions in audio mixer Fixes loudness statistics for surround files and Short-Term Maximum Loudness accuracy Other bug fixes and improvements Download: Ocenaudio 64-bit | Portable | ~40.0 MB (Freeware) Download: Ocenaudio for Linux and Mac OS View: Ocenaudio Homepage | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • AnyDesk 9.7.5 by Razvan Serea AnyDesk is a fast remote desktop system and enables users to access their data, images, videos and applications from anywhere and at any time, and also to share it with others. AnyDesk is the first remote desktop software that doesn't require you to think about what you can do. CAD, video editing or simply working comfortably with an office suite for hours are just a few examples. AnyDesk is designed for modern multi-core CPUs. Most of AnyDesk's image processing is done con­currently. This way, AnyDesk can utilize up to 90% of modern CPUs. AnyDesk works across multiple platforms and operating systems: Windows, Linux, Free BSD, Mac OS, iOS and Android. Just 7 megabytes - downloaded in a glimpse, sent via email, or fired up from your USB drive, AnyDesk will turn any desktop into your desktop in se­conds. No administrative privileges or installation needed. AnyDesk 9.7.5 changelog: Fixed an issue where AnyDesk One windows would open in inconsistent positions Optimized dB bar rendering by synchronizing updates with the render timer Fixed a crash related to high volumes of incoming messages Fixed a crash that could occur when closing AnyDesk One from the tray icon Fixed an issue where certain special characters could disappear when formatting text in Chat Moved the "Jump to Newest Message" button to improve usability in Chat Improved notification delivery speed after sending a message in Chat Improved overall application stability Download: AnyDesk 9.7.5 | 8.0 MB (Free for private use, paid upgrade available) Links: AnyDesk Home Page | Other platforms | Release History | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      508
    2. 2
      PsYcHoKiLLa
      238
    3. 3
      ATLien_0
      80
    4. 4
      Steven P.
      77
    5. 5
      +Edouard
      71
  • Tell a friend

    Love Neowin? Tell a friend!