Engineering Windows 7

Welcome to our blog dedicated to the engineering of Microsoft Windows 7

Beta to RC Changes – Turning Windows Features On or Off

Beta to RC Changes – Turning Windows Features On or Off

The theme of “choice and control” has been applied in many aspects of how we have designed Windows 7. We’ve certainly received lots of positive feedback about the theme and about the choices we’ve made in the design, and we’ve also received a few suggestions for how we might continue to implement this theme in the future. We’ve received feedback for features that should be even more customizable (such as Explorer or the logon screen) or features that should be added to Windows (such as a PDF format reader, security tools, or disk utilities). And we’ve received feedback that some users might prefer to run Windows without certain features. This post is about a point of choice and control in the Windows 7 control panel called “Windows Features” which is where you can choose to turn various features of Windows on or off. This continues our discussion of changes we have made based on feedback from the Beta as we progress to the Release Candidate. This post is by Jack Mayo who is the group program manager for our Documents and Printing team and also worked on Internet Explorer 8. --Steven

“Turning Windows Features On or Off” has a long history in Windows, going back to the earliest days of the 32-bit code base. We’ve received a lot of suggestions about features that you would like to turn on or off using your own criteria for choice. For Windows 7 we’ve engineered a more significant list of features and worked to balance that list in light of the needs of the broad Windows platform as well. We want to provide choice while also making sure we do not compromise on compatibility by removing APIs provided for developers. We also want to strike the right balance for consumers in providing choice and balancing compatibility with applications and providing a consistent Windows experience.

We know many have specific ideas of what constitutes a “feature” or a “program” in Windows and what constitutes an identifiable “part” of the operating system, and yet we also know different people can have different points of view, often strongly held. Some might take an end-user approach and identify a feature based on a window or start menu shortcut. Some might take an approach based on one perspective of architectural subsystems, such as storage or security. Some might take an approach based on what to some are alternate choices to some similar functionality. All of these are valid in some context, but would not result in consistently identifying “features” considering these varied points of view. As engineers we know that no software system can be decomposed into an arbitrary set of layers or parts and any decomposition is likely to change over time.

We don’t want the discussion about this feature or these choices to digress into a philosophical discussion about the definition of an operating system, which is ultimately a challenging exercise (judging by the revision history on the community page), but we do want to improve a feature centered on helping to meet the feedback expressed by some over the summer when this blog started.

In the Release Candidate for Windows 7 we have extended the control panel called “Windows Features” which is available from the standard “Programs and Features” control panel (we often call this ARP, for the original name of Add/Remove Programs). This location is unchanged from Vista and XP, though the wording has been clarified. In Windows 7 if you bring up the Windows Features control panel by clicking on “Turn Windows Features on or off” (or just typing “Windows features” in the start menu) you will see the following in the Release Candidate (by default the hierarchy is not fully expanded, but in this screen shot I’ve expanded some elements for additional information):

Windows Features control panel

For those familiar with the Vista version or the Beta version of this dialog you will notice the list has grown. Let’s talk about what we’ve added and briefly how it works.

If a feature is deselected, it is not available for use.  This means the files (binaries and data) are not loaded by the operating system (for security-conscious customers) and not available to users on the computer. These same files are staged so that the features can easily be added back to the running OS without additional media. This staging is important feedback we have received from customers who definitely do not like to dig up the installation DVD.

For any of the features listed you can change the state to enable it or disable it. The Vista and Windows 7 beta control panel lists a wide range of features. Some are targeted towards Developers working on a client workstation (IIS, MSMQ, etc.), others are utilities for network administrators and enthusiasts (RSM, SNMP, Telnet, etc.), and some are features customers have asked us to make optional (Games, Fax and Scan, Tablet PC components).

In Windows 7 we are expanding the number of features you have control over in this regard, giving customers more control, flexibility and choice in managing the features available in this version of Windows.  In addition to the features that were already available to turn on or off in Windows Vista, we’ve added the following features to the list in Windows 7:

  • Windows Media Player
  • Windows Media Center
  • Windows DVD Maker
  • Internet Explorer 8
  • Windows Search
  • Handwriting Recognition (through the Tablet PC Components option)
  • Windows Gadget Platform
  • Fax and Scan
  • XPS Viewer and Services (including the Virtual Print Driver)

It is worth describing the details of “remove” since this too is a place where there are engineering and customer decisions to be made. We’ve already seen one decision which is to make sure we keep the features staged for future use so that a DVD is not required. A second decision is that we also continue to support the APIs available for features where these APIs are necessary to the functionality of Windows or where there are APIs that are used by developers that can be viewed as independent of the component. As many of you know these are often referred to as “dependencies” and with Windows the dependencies can run both internal to Windows and external for ISVs.

It should be no surprise, but when we develop new features in Windows we tend to use the underlying infrastructure and associated APIs rather than duplicate code which would create extra working set, slow performance, and increase the surface area that needs to be secured, etc. We all know code reuse is a good engineering practice. As a platform, Windows tends to emphasize the creation of APIs for many systems, even when those subsystems are viewed as part of a larger system. When we have APIs that are used, we faced the choice of breaking software that just expected those APIs to be there or to continue to support the API. When we continued to support the API our approach was to remove a feature by making sure that an end-user could not invoke the feature via traditional end-user mechanisms. These are often difficult decisions as we work to balance the expectations of developers, the shared desire to deliver a robust release of Windows 7, and to maintain the goals set out by the feature “Turn Windows Features On or Off”. Because there are so many combinations of dependencies just represented in this list, selecting some options might provide you with some explanation as to the challenges in selecting a combination (for example Windows Media Player and Windows Media Center share a lot of code so turning one off might introduce a pretty complex situation for the average end-user).

Finally, we know some have suggested that this set of choices be a “setup option”. Some operating systems do provide this type of setup experience. As we balanced feedback, the vast majority of feedback we have received was to streamline setup and to reduce the amount of potential complexity in getting a PC running. We chose to focus this feature on the post-setup experience for Windows 7.

--Jack

Leave a Comment
  • Please add 4 and 8 and type the answer here:
  • Post
  • I do not know if I have to be happy or unhappy

  • Now is Happy EU ?

    Opera Team ?

    Firefox Team ?

    even if I do not like the latest version of IE RC. the Internet Explorer icon will never disappear from any of my computers

  • What I'd really like to see is Group Policy management of enabling/disabling these features. That would be so much more convienient than having to script the addition/removal of features on a large network.

  • To me this is a bless, maybe cause I like to tweak or even cause I just like to have "an option".

    Well this is the first time since a became a beta tester since windows Me (yes for me worked like a charm) that I fill that Microsoft listened his customer.

    That's why I firmly believe that Windows 7 will be the best MS OS until the date and that everyone will *or should want to) migrate to Windows 7.

    Thank you Steve.

  • Its great that I can "turn off" DVD maker on my netbook, but it doesnt really help me squeeze Win7 into the small SSD if it's still "staged".

    99% of the time, if someone is trying to turn something off, it's because they didnt want it.  They dont want to keep it around just in case.

    Personally, I'm fine with using a tool like vLite to not install the extras in the first place, I was just hoping we'd get something like that supported.

    We dont want to hide the stuff we dont want.  We dont want to install it in the first place.

  • I agree that there needs to also be a "I never ever ever want this feature, do not even put it on my hard drive" option for all of the truly removable features.  Obviously for the ones with dependencies you have to keep at least parts of them around, but for example anything Tablet PC related is useless to the vast majority of users.  Fax and Scan as well, especially if Fax can be separated (I don't pretend to know) since again the vast majority of new computers don't even have a modem installed and never will.

    On the other hand, I'm glad I'll finally be able to say goodbye to IE once and for all (yes I realize it'll still be there due to the dependency issue, but having it never launch for any reason is good enough).  You guys had your chance to make a decent browser during the years between IE6 and 7, and once again with 8, but even after all that development time Firefox, Chrome, and Safari still destroy IE.  I can not believe Domenico is serious, why would anyone actually desire IE?  As a part-time web designer, it makes my life a living hell if I want to do anything interesting.

  • Just from looking at the list, please can you make it consistent for the poor users.

    When you use an acronym it would be best to always spell it out and put the acronym itself in brackets.

    So that would be:

    File Transfer Protocol (FTP) server

    Services for Network File System (NFS)

    Trivial File Transfer Protocol (TFTP) client

    Also, can you not capitalise words that don't need them like

    Internet games

    More games

    Web management tools

    and so on.

  • In the past Microsoft has required Internet Explorer for Windows Update to download updates for OS, has this policy changed? Is Internet Explorer really removed or is it just remove its .exe?

  • What is .NET Framework 3.5.1? It is 3.5 with SP1?

  • @wolrah I would think that the web designers are the key people to *keep* IE installed.  I actually have both IE6 and IE7 on my machine, not because I use them to browse, but because I need to test things in IE.  Ideally proofing something in a standards compliant browser would be sufficient, but you should be checking your output in IE as well since the majority of your users will be using it.

    As for this blog post, it was good to see.  I don't see staging as a problem if they've been able to reduce the footprint further since the beta.  It's hard to justify even 6 gigs of space to an OS when my last version of Windows only took about 1 gig, and the most "loaded up" Linux distro I've ever installed took 2.  Netbooks will continue to get bigger SSDs, making people less weary of this issue over time.  Meanwhile however a 16GB SSD might give only 10GB storage to a Windows user while a Linux netbook might leave 15.  Glad to see the team is considering footprint and impressed by their willingness to tackle the dependency jungle!

  • But it doesnt seem like they have reduced the footprint.  This whole "staging" thing is like the digital equivalent of sweeping the bits under the rug.  I'm assuming it gets compressed to save some space, but I still dont want those bits on the drive.  Any time I've ever used the add/remove programs tool, I cant say I've ever actually added anything back.

    Anyway, the real problem is that microsoft software is just completely disrespectful of the fact that you might have limited disk space.

    Lets add up all the waste:

    3.2GB for hiberfil.sys - I have hybrid sleep off, and its set to never hibernate.  Why does this file still exist?

    4.7GB pagefile.sys - This is what happens when you let the system manage the pagefile - I can say with absolute certainly I've never needed 4.7gb of swap space, let alone probably even 1GB.

    The infamous Winsxs - of course explorer cant calculate this right, so it's just say it's 1GB instead of 6gb.

    Another 1GB in the "installer" folder in the Windows folder - which I understand to be rollbacks for windows updates.  Something I've never done, nor ever imagine having to do.

    Theres also the MSOCache - I've installed all of Office 2007 that I've ever wanted to, but I still apparently need to waste another 528mb in case I ever want to add something, despite the fact the disc is sitting right next to me.  

    All this is irrelevant with a hard drive, but its ridiculous for a SSD.  And this staging thing just rubs me the wrong way.  I dont understand the point of it as it is.  

    How is this really any different in practice than just deleting the shortcut from the start menu?  

  • In response to briantist:

    do not spell out TFTP. If someone doesn't know what it is, they aren't going to need to use it!

    @MSFTJack

    Very cool to see a TFTP client. I'll have to see if that's in build 7000

  • @Microsoft

    now we have reached the end of the development and windows 7 has all it takes to be ROCK.

    Micorosoft offers thousands of free services to all ,

    but there is a necessary service that must be offered to the public..

    Yesterday I replaced my motherboard and CPU in my Main PC having Vista RTM

    I had to reinstall

    Vista SP1

    all Update and Fix  (without considering the drivers)

    I spent about 4 hours to finish these operations.

    Microsoft may make available every 6 months a new ISO of Windows including all FIX and download with your Key ? Also pay 3 or 4 euro for the service

    If we consider also the people who often want to reinstall the Vista or Windows 7 on laptops where many manufacturers do not release DVD cleaner of Microsoft OS.

    This is my final feedback, I look forward to the Windows 7 RC.

    Thanks

    -Domenico

  • There is only one version of IE installed, so omit it or add version numbers for all services and programs.

  • @mdaria510 -- I don't think things are quite as negative as you say.  We've talked about disk footprint quite a bit in the blog and the design goals and where the footprint goes.  This earlier post describes our engineering goals and some facts around disk space consumption http://blogs.msdn.com/e7/archive/2008/11/19/disk-space.aspx.  

    Hiberfil won't exist if you run the diskcleanup wizard and choose to remove it (or use powercfg -hibernate off from an elevated prompt).  The file remains because even with hibernate off, should you be in standby and drop below 10% of battery remaining we will force a hibernate.

    pagefile -- we've explained the algorithm used to determine the size and we think Windows will do the best job for this.  But as you note you can manually set the size to whatever you would prefer.  While it is possible to run without a pagefile, we do not recommend that.  Here is Mark's blog on the topic http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx.

    Winsxs -- we've talked about this as well.  It is less than half of what you are saying.

    Regarding staging and uninstall, we receive quite a lot of feedback about having these around because the ability to rollback or to find features of Windows that you might not have wanted is very important relative to the disk space or requiring a DVD.  We carefully balanced this against low footprint installations and that is why you'll see Windows 7 take significantly less space on install than Windows Vista.

Page 1 of 9 (133 items) 12345»