Engineering Windows 7

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

Delivering a quality upgrade experience

Delivering a quality upgrade experience

This is a little bit of a tricky post to write because we’re going to be asking everyone using our Windows 7 Beta to help us out, but doing so is going to take a little time and require a bit of a commitment to helping test the next milestone. This has been a remarkably valuable and beneficial testing cycle for Windows as we have had a tremendous amount of very rigorous testing and usage. We’ve had millions of people install and use the Beta since January and as we’ve talked about, the feedback and telemetry have been of tremendous value as we finalize the product. The effort of Beta testers has contributed immensely to our ability to deliver a high-quality product to hundreds of millions of customers. We continue to follow the plan we have previously outlined and this post is no announcement of any news or change in plans. Since we know many people are running the Beta we want to provide a heads up regarding the behavior of the Release Candidate (RC) as it pertains to upgrades. Of course we are working hard on the RC and following the schedule we have set out for ourselves.

A big part of the beta process is making sure we get as much “real world” coverage of scenarios and experiences as possible and monitor the telemetry of those experience overall. One of the most challenging areas to engineer is the process of upgrading one release of Windows to another. When you think about it, it is the one place where at one time we need to run a ton of code to basically “know” everything about a system before performing the upgrade. During the development of Windows 7 we routinely test hundreds of original OEM images from Windows Vista and upgrade them and then run automated tests validating the upgrade’s success. We also test thousands of applications and many thousands of devices as they too move through the upgrade process.

Many of you installed the Windows 7 beta on a PC running Vista. We received that telemetry and acted on it accordingly. We believe we’ve continued to improve the upgrade experience throughout the release. Similarly, based on our telemetry most of you did clean installations onto new drive partitions. Through this telemetry we learned about the device ecosystem and what drivers were available or missing. We also learned about PC-specific functions that required installing a driver / application (from XP or Vista) to enable support for buttons, connectors, or other hardware components. Together we get great coverage of the setup experience.

We’ve also learned that many of you (millions) are running Windows 7 Beta full time. You’re anxious for a refresh. You’ve installed all your applications. You’ve configured and customized the system. You would love to get the RC and quickly upgrade to it from Beta. The RC, however, is about getting breadth coverage to validate the product in real-world scenarios. As a result, we want to encourage you to revert to a Vista image and upgrade or to do a clean install, rather than upgrade the existing Beta.  We know that means reinstalling, recustomizing, reconfiguring, and so on.  That is a real pain.  The reality is that upgrading from one pre-release build to another is not a scenario we want to focus on because it is not something real-world customers will experience. During development we introduce changes in the product (under the hood) that aren’t always compatible with what we call “build-to-build” upgrade.  The supported upgrade scenario is from Windows Vista to Windows 7. Before you go jump to the comment section, we want to say we are going to provide a mechanism for you to use if you absolutely require this upgrade.  As an extended member of the development team and a participant in the Beta program that has helped us so much, we want to ask that you experience real-world setup and provide us real-world telemetry.

If you do follow the steps below, you might run across some oddities after upgrade. We experience these internally at Microsoft occasionally but we don’t always track them down and fix them because they take time away from bugs that would not only manifest themselves during this one-time pre-release operation. From time to time we’ve noticed on a few blogs that people are using builds that we have not officially released and complained of “instabilities” after upgrade. Nearly all of these have been these build-to-build issues. We’ve seen people talk about how a messenger client stopped working, a printer or device “disappears”, or start menu shortcuts are duplicated. These are often harmless and worst case often involves reinstalling the software or device.

We’re just trying to be deterministic and engineer the product for the real world. Speaking of the real world, many have asked about upgrading from Windows XP. There's no change here to the plan as has been discussed on many forums.  We realized at the start of this project that the “upgrade” from XP would not be an experience we think would yield the best results. There are simply too many changes in how PCs have been configured (applets, hardware support, driver model, etc.) that having all of that support carry forth to Windows 7 would not be nearly as high quality as a clean install. This is something many of you know and already practice. We do provide support for moving files and settings and will prompt at setup time, but applications will need to be reinstalled. We know that for a set of customers this tradeoff seems less than perfect, but we think the upfront time is well worth it.

So when you try to upgrade a pre-RC build you will find that you’re not able to and setup will tell you and you can then exit gracefully. You can install as a clean installation and use the Windows Easy Transfer feature as well (run this from your current installation of course) if you wish to move your accounts, settings, files, and more. To bypass the version check, the instructions below will use a mechanism that is available for enterprise customers (so we are also testing this as well). It is not a simple command line switch. We didn’t make it multi-step on purpose but wanted to stick to using proven, documented and tested mechanisms.

These instructions will be brief. Since everyone reading is a well-versed and experienced beta tester you know ALWAYS BACK UP YOUR MACHINE before running any OS installation and NEVER TEST AN OS ON YOUR ONLY COPY OF ANY DATA. Testing a pre-release product means just that—it is testing and it is pre-release. Even though this is a Release Candidate, we are still testing the product. We have very high confidence but even if an error happens once in 1,000,000 we want to make sure everyone is taking the precautions normal for a pre-release product.

One other related caution is INSTALL ONLY OFFICIALLY RELEASED BUILDS FROM MICROSOFT. It will always be tempting to get the build with the “mod” already done but you really never know what else has been done to the build. There’s a thrill in getting the latest, we know, but that also comes with risks that can’t even be quantified. For the RC we will work to release a hash or some other way to validate the build, but the best way is to always download directly from Microsoft.

Here’s what you can do to bypass the check for pre-release upgrade IF YOU REALLY REALLY NEED TO:

  1. Download the ISO as you did previously and burn the ISO to a DVD.
  2. Copy the whole image to a storage location you wish to run the upgrade from (a bootable flash drive or a directory on any partition on the machine running the pre-release build).
  3. Browse to the sources directory.
  4. Open the file cversion.ini in a text editor like Notepad.
  5. Modify the MinClient build number to a value lower than the down-level build. For example, change 7100 to 7000 (pictured below).
  6. Save the file in place with the same name.
  7. Run setup like you would normally from this modified copy of the image and the version check will be bypassed.

clip_image002

These same steps will be required as we transition from the RC milestone to the RTM milestone.

Again, we know many people (including tens of thousands at Microsoft) are relying on the pre-release builds of Windows 7 for mission critical and daily work, making this step less than convenient. We’re working hard to provide the highest quality release we can and so we’d like to make sure for this final phase of testing we’re supporting the most real world scenarios possible, which incremental build to build upgrades are not. At the same time everyone on the beta has been so great we wanted to make sure we at least offered an opportunity to make your own expert and informed choice about how to handle the upgrade.

We’re always humbled by the excitement around the releases and by the support and enthusiasm from those that choose to run our pre-releases. We’re incredibly appreciative of the time and effort you put into doing so. In return we hope we are providing you with a great release to work with at each stage of the evolution of the product. Our next stop is the RC…see you there!

THANK YOU!

--Windows 7 Team

PS: At Step 1 above many of you are probably thinking, “hey why don’t you just let me mount the ISO and skip the plastic disc”. We’ve heard this feedback and we deserve the feedback. We don’t have this feature in Windows 7 and we should have. So please don’t fill the comments with this request. There are several third party tools for mounting and if you’ve got a Vista image there’s a good chance your PC came with those tools on it.

Leave a Comment
  • Please add 7 and 5 and type the answer here:
  • Post
  • Hello,

    I installed Win 7 x64 Beta on my machine. I have a Asus K8V Deluxe motherboard with AMD64 3400+. Some of the drives run on a Promise 150 TX2 Plus. Now, those drivers came on the Vista x64 OEM disc that I got from Microsoft, but The Win 7 DVD didn't have them, do you think the RC is going to? I have all of my personal data on those disk, and if I can't use them, I can't be running Win7. Hopefully some here can help me and I would love to run Win 7. The little time I played with it, absolutely loved it 100%. I'm one of the few that loves Vista too, but I felt like Win7 ran a lot smoother on my machine. Thanks for the help.

  • I use all that dynamic disks can offer!

    Except raid 5, as Win 7 won't allow raid 5.

    (why is beyond me....)

    I have my os + applications + personal media mirrored. (PC is also workstation for work)

    Swap + temporary media files (work in progres) are striped.

    A simple backup volume for the most important and time critical data and media files.

    All my other (work) Media files are spanned (so i can expand storage when needed)

    I use 2 seperate external drives for backup.

    (1 off site)

    7 drive total (5 internal 2 external)

    ~160 GB raid 1 (over 2 drives)

    ~360 GB striped (over 5 drives)

    ~1.2 TB spanned (over 5 drives)

    ~200 GB backup (1 drive)

    2*1 TB USB drives (backup)

  • It's very kind of the Win7 team to offer this functionality.

    And as a Beta Tester, I will do my duty and do a clean install. :) I've installed my machine over and over enough times over the years, it's almost muscle-memory the folders I need to back up, haha.

  • I do a clean install too. I have Vista (not used since build 7000 comes out) and Win 7 here at work and at home

  • Sounds fair enough to me. I remember the upgrade from XP to Vista was flaky, it still had XP sounds, and Windows Mail said Outlook Express in the title bar :)

  • I don't mind doing a Vista update... my question is, when will the RC be available?

    Is it ready yet?

    ...

    Is it ready yet?

    =)

  • "Is it ready yet?" ... heck I don't care; I'll take it just the way it is <VBG> - it has to be better than XP.

    One upgrade scenario that I didn't see addressed and I would like to know before doing the Vista re-install upgrade suffle is will there be an upgrade route direct from Vista x86 -> Win7 x64?  This was the only reason that I haven't installed Win7 on all of my systems - Beta wouldn't allow upgrade from Vista x86 to Win7 x64.

    Thanks!

  • First, Looks like Windows 7 will be the one that makes me wan't to forget XP, so GREAT job Windows 7 team!  Second, I've installed Windows 7 64-bit (beta 7068) on my second partition using a clean install, overwriting Windows Vista 32bit and Win7 beta 7000 without a problem.  Third, will 64-bit be pushed a lot more this go around?

  • @ET3 -- we still will not support upgrade across architectures (32 <-> 64 bit).  Sorry about that.

    @MattJC -- we're starting to see more and more machines ship with 64-bit by default and we do expect this trend to continue, particularly for all-in-ones, desktops, and for 64-bit capable laptops.

    --Steven

  • My criticism of this post is not its content - that's fine, we understand that, it's the silly title.

    The content is "upgrading from the beta is going to be a real pain, but we're sorry about it and here's our technical justification"

    The title is completely different.  What's "a quality" about "clean reinstall"

    Maybe once you rise above a certain level at MS it's impossible to refer to a spade as "a spade".

  • Enough with the teasing, give us the release candidate!

  • I have a small computer service business and I'm entertaining doing an upgrade of my Vista  workstation at the release of the next RC. I'm using a domain with Server 2008 and Vista, XP and one other W7 workstation(s). It isn't a problem to image my Vista machine for safety and then try this. The Vista install has been in use for about 18 months. I would do this both for myself and to add to the collection of experience data. I need to get my feet wet from the support side of Windows 7 is another reason to give this a shot. I have Vista 32 but would like to use the 64 bit Windows 7 if possible. Will that be possible with the next RC?

  • Several comments here:

    * Windows 2008 R2 Std version will allow max 32Gig memory, but W7 will support 128Gig. If it stays that way a lot of people will run w7 on their latest server hardware to avoid this odd limitation. Especially considering even low end servers already now support 48Gig for very little money.

    * Dynamic disc: Please support raid 10, it is truly annoying having to depend on very flaky hardware implementations of raid to get this.

    * Dynamic disk setup in installation.

    * Dynamic disc Raid 5 and 1 (and 10): Add support for dirty bitmaps like Linux has had for ages, so that rebuilds does not take forever.

  • I have run Win 7 as my primary OS on my primary system since release. I am a gaming enthusiast, and have been putting Win 7 through its paces with the hope of having the RTM be a rock solid gaming platform (since we all know Vista failed miserably to meet the gaming communities expectations). My experience so far has been hit or miss. I realise Microsoft has no control over the stability of individual games or QC over their code. However, DX10 and ATI 4870 X2 (cat 9.3 Win 7 wddm) do not play well on too many games. I am sure a large portion of the mountainous gaming/DX10 telemetry is my fault ;) What I want to see: You can't prevent bad game code from occasionally hanging/crashing, I would rather crash to desktop, than blackscreen/reboot (which is the norm not the exception on Win 7 build 7000). Maybe this is fixed in RC, I will definately be clean installing to that once it is released, if not, PLEASE fix the feature that is supposed to prevent 3D apps from crashing the whole system. While the gaming community is a narrow demograph, rest assured that they are the ones that migrate if it works, and blog about it if it doesn't!

  • This really doesn't seem like the appropriate place to be suggesting this to me but I'm not sure where else to go!

    I have several small suggestions regarding the taskbar. I absolutely love all the new things I can do with the taskbar. There are a few things which I would like to be able to drag and have stick to the right side of the taskbar, it just seems like they should be over there.

    Also, an option to force certain apps to stay in the "combined" mode where they have a small cube shaped entry in the taskbar while the rest of the items are not in "combined" mode would be nice. I like using the "Combine when taskbar is full" option. There are a few apps which only ever have one window open by design and can be very easily identified by their icon. In combination with having them open almost 100% of the time I'm using my PC would make this option very useful. The ability to force these apps to keep their icon only in the taskbar without any text would save me a ton of space.

Page 2 of 20 (294 items) 12345»