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.

Posted in: General | Tags: window windows features windows 7 release candidate rc

Web pros: WebsiteSpark, Web PI and more!

WebsiteSpark

WebsiteSpark is a program designed to jumpstart Web development for individuals or small companies who make a living on the Web.  The program is free to join and runs for three years with no cost obligations other than a $100 program fee, payable on exit.  What is in it for you?

  • Windows Web Server 2008 R2 – 4 processor licenses for production use!
  • SQL Server 2008 – 4 processor licenses for production use!
  • Expression Studio 3 – 1 license including Expression Web, Blend and Sketchflow
  • Expression Web – 2 licenses
  • Visual Studio 2008 Professional Edition – 3 licenses
  • DotNetPanel control panel (to manage your servers, and allow your customers to manage their site!)

Beyond just software you also get free support, training and Microsoft will even help drive business your way.  Anyone can join as long as 1) you build web sites or applications for other people and 2) your company has less than 10 employees.  If you meet these requirements, sign-up today!  As part of the sign-up process you will need a referral code.  Contact me if you need a code, I’d be happy to sponsor you into the program!  Read more about the program on the WebsiteSpark portal. 

Web Platform Installer 2

I’m also happy to announce that the Web Platform Installer 2.0 is available in final release form!  The Web Platform Installer (sometimes called Web PI) makes it easy to install the latest components of the Microsoft Web Platform including IIS, ASP.NET, Visual Web Developer, SQL Express and more!  New for the final release, we’ve fixed many bugs, improved usability, added new products including Expression Web, Azure Tools and the latest releases also being announced today.  We’re also launching WebPI in 9 different languages and allow users around the world to access the Web Platform in their regional language.  Look for more components of the Microsoft Web Platform to be added to Web PI v2 over time.  Web PI also makes it super easy to install any of the Web applications in the Windows Web App Gallery.  Web PI can also now install both PHP and MySQL for applications that require it.  Install Web PI today!

Trivia: since launching the Windows Web Application Gallery at MIX in March 2009 – just 5 months ago – Web PI has installed more than 840,000 applications!  Do you have a killer Web application just waiting to be discovered by the masses?  Want Microsoft to drive users to your community?  Submit your Web app to the gallery today!

Web Deployment Tool

The IIS team just released the final 1.0 version of the Web Deployment Tool, a super powerful deployment technology that you are going to see a lot of going forward.  It is like a swiss army knife for Web masters.  It can migrate sites or entire servers from IIS6 to IIS7.  It can synchronize Web sites or applications between multiple servers.  You can package a Web site or application and then push it out to your entire server farm.  It knows how to not only replicate content, but also configuration, databases, COM dll, GAC assemblies, certificates, ACLs, and a whole lot more.  After about three years of development I’m super excited to see this thing in final release form.  It is already being integrated into Visual Studio 2010 and from there you’ll be able to not only build but also package and deploy your applications with just a few clicks of the mouse.  Other teams around Microsoft are picking this thing up and integrating it as well, so you definitely want to get up to speed with this tool.  Download it today!!

Database Manager 1.0

The IIS team just released the 1.0 version of Database Manager, and IIS Manager extension that makes it super easy to manage your database, local or remote, from within the IIS Manager tool.  This thing rocks!  It supports SQL Server and MySQL and is one powerful tool, and completely free.  Check it out!

Search Engine Optimization Toolkit – Beta 2

The IIS team also announced the released the beta 2 of the Search Engine Optimization Toolkit, another IIS Manager extension that makes it possible to learn things about your site you can’t find anywhere else.  It crawls your Web site, local or remote, and reports on dozens of well known but hard to discover issues that cause your site to be less relevant to search engines.  This version includes many bugs fixes and new features over the previous release, definitely check it out and send feedback to the team on the forums. 

Application Request Routing 2 – Release Candidate

The IIS team is also releasing a Release Candidate of the 2.0 version of the Application Request Routing extension for IIS7/IIS7.5, which provides built-in routing, load balancing, proxying and caching support on the IIS platform.  This release includes an all-new disk cache option, bug fixes and performance improvements.  Read more about the release in the learn portal.   This powerful extension is available for free, download it today!

Posted in: software | Tags: release candidate websitespark dotnetpanel web platform installer database manager proxying application request routing