Jump to content

Building A "Perfect" Windows 7 Installer?


Recommended Posts

Hey guys. I have been banging my head against the wall on this Windows 7 project for a couple weeks now, so I figured I'd ask this forum since its basically the best place for such information. I am trying to build a customized Windows 7 SP1 x64 installer. My goal is like pretty much anyone, I would think: I want all Windows Updates to be installed "out of the box", and want to reduce the overall disk footprint as much as possible and remove the normal stuff I don't want / need (IE, IIS, Windows Mail, etc). I was big into the custom Windows XP scene several years ago, and it seems like things are a bit more fractured and difficult with Windows 7. So far, the least install-breaking utility I have found is the 9-month old "beta" of RT 7 Lite. I have tried various combinations of it + RT7 Booster, but I basically never had RT7 Booster do anything but break the installer, so I stopped using that. It seems that via RT7Lite I am able to integrate virtually all available Windows Updates, provided they are integrated in the correct order. However, I haven't worked out if there's a proper way to have IE removed and still have the system not ask about KB2530548.

I know there are a few things that MUST be installed after the OS (like Malicious SW Removal Utility and .NET 4.0), but barring those, is it possible to be "fully" up to date, have no broken Windows Updates, AND have no IE on the system? I don't mean installed-but-disabled, I mean no IE installation. Any suggestions would be quite welcome :) At this point I've collected together a local copy of virtually every Win7 x64 update since SP1, the really nice "slim" dotNETFX Setup, various WAIKs, and some other utilities. However, I've found the "scene" is a bit confusing, with several tools and batch files purporting to do what I want having been released and then apparently abandoned, leaving them to only kinda work. "Oh yeah, that doesn't work since SP1..."

"Oh hey follow these instructions:" (instructions look like they've been run through Babelfish 3 times...)

Help me, MSFN board! You're my best hope! :P

Link to comment
Share on other sites


Have you tried the Microsoft Deployment Toolkit? It allows you to customize your deployment in great detail. MDT is a task based deployment solution. Tasks can include running commands and scripts, so you can customize even further as the deployment happens. In your case, I would suggest creating the master image in Audit mode (link is for Vista, but it applies to Windows 7 also), using the <copyprofile> setting in your unattend file to make those changes a part of the default profile when you sysprep and deploying that image to your users. Post Installation tasks can install (or un-install)software, so if one of your applications releases a new version, you don't have to re-capture a new image, you just replace the application installation files and the next deployment has the new version. Also, you can add your updates into MDT to be installed during deployment, or install them off-line into your image using DISM. Further, device drivers can be imported into MDT, and during deployment MDT uses PnP requests to install the correct drivers. A new model of computer no longer requires building a new image, you would simply download the drivers for that model and import them into MDT and deploy. And it's free.

There is a huge amount of information on deploying Windows 7 on the Deliver and Deploy page of the Springboard Series on TechNet, including articles, walk-throughs, and videos.

Hope this helps,

David

Windows Outreach Team - IT Pro

Link to comment
Share on other sites

It seems like back in the XP days, the "official" tools weren't great and didn't lend themselves to doing the kind of stuff I wanted to do. I suspect due to the much revised installation model that started in Vista, the official stuff appears to be much much nicer. I began fooling around with the Microsoft Deployment Kit, which already seems very good. Of course, its going to involve a lot of reading and learning for me to be able to decode the Microsoftian language used throughout into what stuff actually means, but its all good stuff to know. I do IT work professionally, and in the past most of my "just for fun" hobby projects have ended up being things I used at work later on, so this could easily fall into that category as well.

Link to comment
Share on other sites

Good stuff all around! The one thing I haven't found any explicit explanation of yet is the process by which the 3rd party tools like RT 7 Lite accomplish the removal of things like IE and Windows Mail.

I'm guessing they mount up the main install image and then do stuff to the file system & registry? Also, for a good personal image to use as a starting point, I might want to boot into Audit Mode and get everything ready to go, then re-capture that image? Can you that kind of thing within a VM?

-EDIT-

May have found answer to my own question. Here's an article on adding / removing stuff from a WIM:

http://technet.microsoft.com/en-us/library/dd744559(v=ws.10).aspx

However, I'm pretty sure this is just a way of automating the stuff you can do with "Add / Remove Windows Features". If that is so, it won't be useful in reducing the install footprint right? One of my goals is to trim the garbage out to make my install more SSD friendly :)

Edited by Tripredacus
Link to comment
Share on other sites

-EDIT-

May have found answer to my own question. Here's an article on adding / removing stuff from a WIM:

Thats exactly what it is but to complete it and remove the junk Files folder from the wim using imagex then you do this at the end

imagex.exe /export D:\uaDVD\sources\install.wim * D:\uaDVD\sources\installnew.wim /check /compress maximum

Then delete install.wim and rename installnew.wim

Link to comment
Share on other sites

One important question you'll want to answer before you go too far - what do you intend on using this WIM for? If it will be used for anything commercial/enterprise and/or non-personal, you want to avoid things like vLite/RT7Lite and other tools that actually hack away at Windows files and catalogs to remove components. Most of them violate the Windows EULA in some way, so if you plan on putting these into a place where support from Microsoft or compliance with licenses is required (or desired), be wary of 3rd party tools that "remove" components above and beyond what DISM does. Just FYI.

Link to comment
Share on other sites

That's part of why I figured it'd be good to learn. I am only going to be using the installers I build for myself and my family, so not a big worry.

From my additional experiments, it looks like the 3rd party utilities actually mount the current WIM and then modify its contents directly, which is how they "remove" stuff like the sample media, wallpapers, etc. Is that right?

Link to comment
Share on other sites

yes

In XP it was easy parse all the inf's in the inf folder and you can see what it added to reg and files. Win 7 is totally different.

To see all the features/packages/drivers might be easier to take a look at this here. You have to mount the install.wim of your OS choice and then use the features/packages/drivers to desktop

? about that reply there then it will inform me

Link to comment
Share on other sites

Just wanted to post an update in case any other confused n00bs like me find this forum.

I have almost completed my project after a fairly time-consuming series of tests.

The process that appears to have worked out well for me is this:

-I started with a stock Windows 7 x64 SP1U image (from MSDN). The other ISO I got from Digital River a while back and its SHA1 checksum didn't match anything I could verify, so I figured it'd best to be safe.

-EDIT: I forgot I ran through the process to make the MSDN "compatible" with 7lite & RT7Lite as documented here:

-I proceeded to integrate in all the .msu update packages I had via DISM. There are other ways to do it, but for learning purposes I went that route.

-Booted the resulting "updated" ISO in VMWare Workstation and then went into Audit Mode and installed the 6 or so Windows Updates that were found as new. Then checked "Generalize" and Shutdown the resulting install.

-Booted up Hiren's Boot CD on the same VM and used GimageX to capture a WIM of the system off to a USB flash drive attached to the VM.

-Imported the resulting "Fully up to date" image into a new installer.

-Ran RT7Lite on that installer to successfully trim out things like IE without screwing up the Windows Update state.

This is where I'm at now. My plan is to finish up this image by adding some applications and customizations in audit mode and then re-capture again. Audit Mode is AWESOME!

Edited by Sleepy P
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...