Automatically Load and Update Your Windows Systems
Posted by Kevin Purdy at 4:00 AM on December 22, 2007

One of the best parts of getting a new computer for the holidays—other than that new computer smell—is setting up a fresh, clean system exactly how you want it. Your customised productivity apps, your favorite media players, and maybe even some of the software tools you've seen on one blog or another.
But searching out, click-click-click-installing, and keeping all those programs updated in Windows can add up to some serious time. We've covered automation apps like InstallPad and AppSnap, and updating tools such as FileHippo, but I've found that Appupdater, a Linux-like command line tool, can handle both functions, automatically, with just a little tapping in the command line.
Follow along after the jump and we'll get started on keeping a number of ultra-useful Windows programs up to date and making them easy to load on a new system.
Note: Appupdater is a free, open source program maintained entirely by one man, Neil McNab, who provided gracious guidance for this walk-through. It's technically in beta at the moment, and while it likely won't mess anything up on your system, it shouldn't be installed on a machine with sensitive data, just to be safe.
I'll start off by showing how to install Appupdater and keep a working computer updated. If you just want to set up a freshly-installed system, skip down to the section labeled "Create your applications list."
Installing and updating
The first thing you'll need to do is grab and install the latest version of the Appupdater program. Make sure to keep the "Windows Service" and "Add to System Path" boxes checked—they make running Appupdater easier and let it check for updates once a day (at 2 a.m. by default, but we can change that later). That's all you need to start scheduled updating, but let's get a bit more familiar with this tool.
Head to your Windows command prompt (usually by typing "cmd" into the "Run" box in XP or the "Start Search" field in Vista). Once there, enter this command:
appupdater --updateThis searches your system to see what compatible programs are installed and checks with an updated file hosted at the creator's web site to see if newer versions are available. If so, your next step is to run a similar command:appupdater --upgradeThis will set your system to downloading and installing newer versions of any apps needing an upgrade.
Appupdater also lets you install programs individually from the command line. Whether this is faster for you than downloading and installing an executable depends on your feelings toward that blinking prompt. To install the Opera browser, for instance, you would enter:
appupdater --install=OperaUse quotes for programs with two names, like "Google Earth".
If you leave your computer on all the time, Appupdater will keep you up to date automatically, running those "--update" and "--upgrade" commands at 2 a.m. every day. To change that time, you could either load the graphical version of the program (appupdaterw.exe, in Appupdater's folder) and change the value in Tools->Options->Index Hour, or open the config-sample.txt file, change the "INDEX_HOUR=" value and re-save the file as appupdater.ini. Or, if you're familiar with Windows' built-in scheduling programs, you could simply have it run the twin commands whenever you'd like.
Create your applications list
If you're starting fresh with a new system and you know the programs you want installed, fire up a text editor (Notepad works fine) and cruise to the list of supported applications. Type or copy-paste just the names of programs as they appear, one per line, and save the file as myapps.txt or whatever you'd like.
You can also set up a system with the same programs you have on another computer. There's a bug in the latest version that blocks an easy list creation tool, but there's a work-around. Open a new command window and run this line:
appupdater --list
With the command window still open, right-click inside the window, select "Mark," then use the mouse cursor to select just the left-hand list of program names. Now hit either Ctrl+C or right-click on the window title bar and choose Edit->Copy to grab the app names (here's more on that). Paste the text into an editor, adjust as needed, save it as a text file and you're on your way.Setting up a new system
All you need to get a new system auto-installing your favorite apps is the text file you just created and the ability to download Appupdater again. If you really wanted, however, you could run Appupdater from a portable drive—just copy the program folder whole from a computer (after installation) onto the device. Either way, copy your text file onto the new machine, open a command prompt and navigate to where you put it. If you placed it on your desktop in XP, for example, type:
cd c:\Documents and Settings\Your Username\DesktopOnce you're there and ready to start installing, type the following command (substituting the name of your file):appupdater --load=filename.txtThat's it—Appupdater will quietly go about installing everything. You can also perform this function from the graphical version, but it requires clicking through each of the programs' install screens, which kind of defeats the purpose.Lifehacker Pack, Appupdater version
Much like Gina did in her InstallPad feature, I'm throwing together a few of the Lifehacker team's favorite apps in an easy-to-install text file for Appupdater. Download the list and run the same "--load" command as above to get a stiff shot of great apps. If you have some of them already installed, don't worry—Appupdater will skip them and head for the new ones.
- 7-Zip (multi-format compression utility)
- Audacity (All-purpose audio editing)
- Firefox (Extensible browser)
- Google Earth (3D maps and search)
- IrfanView (Light and fast image viewing/editing)
- Notepad ++ (Code-friendly text editor)
- Pidgin (tabbed, multi-protocol IM client)
- Thunderbird (email client)
- VLC (all-purpose media player)
Appupdater uses a dynamic XML file, or repository, maintained by its creator to stay up to date. It isn't perfect, but it allows you to stop worrying about whether you're missing an upgrade (and avoid groan-inducing pop-up reminders). The best part is that it runs silently in the background, installing all the programs you want so you can spend time tweaking and discovering the coolest parts of your system.
Got your own new system building techniques or time-savers? Written your own uber-efficient script? Let's hear about it in the comments!
Kevin Purdy is an associate editor for Lifehacker who won't have to shun his family to install applications this Christmas. His weekly feature appears every Saturday on Lifehacker AU.

Comments (AU Comments · US Comments)
There are currently no AU comments for this post.
dhaberer
Posted 9:45 AM 21/12/07
So how about programs that have custom installs? For instance, if I do the --install:winamp, am I going to get all the adware crap that is also installed with it?
dhaberer
alanjstr
Posted 10:15 AM 21/12/07
The tool that I have been using lately is Secunia's Personal Software Inspector (PSI). While it doesn't update things for me, it does a great job of telling me what's insecure.
alanjstr
Therevan
Posted 10:50 AM 21/12/07
@dhaberer: Good question, actually. I'd assume it's a no-adware install, but I'll have to check to be sure. Answer soon!
Therevan
Firstmate
Posted 10:40 AM 21/12/07
I am using a lot of the programs you posted in your Lifehacker Pack, Notepad++ is great!!!
Firstmate
joelena
Posted 11:59 AM 21/12/07
It sounds great, and I think it would benefit greatly from a couple of things:
Before I install this, I need to know that I can trust the repository maintainer(s). I don't want to be requesting a silent spyware install from Joe Schmo's repository du jour. Also, maintaining a repository of even a few hundred apps would be too much work for just one person. A community-based and maintained set of repositories would be ideal, as Max noted above while I typed my damn-fool head off.
If you're worried about silently installing Google or Yahoo toolbar along with your Google Earth or Winamp updates, using the graphical version only defeats half of the purpose. Even better, you could keep two lists, a "SilentInstall.txt" and a "GUIInstall.txt".
I'd also like to see an intermediate between silent and full installer modes. A checklist with a changelog so that you could decide which updates to apply and which to hold off on. I know that major upgrades which break your settings are rare, but they're still annoying and I'd at least rather know that they're happening. I would not want to wake up one morning to Firefox 3.0 and several non-functioning extensions.
The feature post is very welcome. I haven't used any of these update automation apps yet, only FileHippo's checker, but this one seems the most promising to me.
joelena
genotrance
Posted 11:37 AM 21/12/07
I'd just like to point out that AppSnap has a CLI which can do everything that the GUI can do.
genotrance
travis
Posted 11:31 AM 21/12/07
error :-(
C:\Program Files\Appupdater>appupdater --update
Downloading new version information...
Updating Application Information
Checking for update of [www.nabber.org]
ink...
No update needed.
Updating version information.
versions.xml
Checking for update of versions.xml...
Doing complete file download...
Downloading versions.xml
[-------------------------------------------------------] 0% 0.00/0.00 MB
WARNING: Downloading file versions.xml failed.
[www.nabber.org]
Checking for update of [www.nabber.org]
etalink...
No update needed.
Scanning for installed applications.
Scanning Registry...
Searching directories for supported applications...
Traceback (most recent call last):
File "appupdater.py", line 37, in
File "libappupdater\console.pyc", line 85, in run
File "libappupdater\core.pyc", line 369, in scan_apps
File "libappupdater\utils.pyc", line 340, in search_directories
File "ntpath.pyc", line 270, in isdir
TypeError: stat() argument 1 must be (encoded string without NULL bytes), not st
r
C:\Program Files\Appupdater>
travis
earth2marsh
Posted 11:18 AM 21/12/07
Looks interesting, I'll have to give it a try...
FWIW, it would be helpful to have a link at the end of the post that goes directly to the site. I'm conditioned to look for that on LH. ;)
earth2marsh
Max
Posted 11:12 AM 21/12/07
The idea of a package manager for Windows is long overdue. What would be really great is if Neil McNab would lead a group to create and maintain one or more repositories, so that it's not completely dependent on him in the long run. Meanwhile, many thanks to him for his solo effort!
Max
Therevan
Posted 8:02 PM 21/12/07
@Max: Actually, Neil is all for folks making their own repositories. He's using open XML and Metalinker standards (described in greater detail at the project site.
@joelena: From my experience, Google Earth and Winamp installs didn't place anything on my IE 7, but it wasn't a comprehensive check. I'll try to do a little testing over the weekend.
@All: Thanks for the thoughtful feedback!
Therevan
Code6226
Posted 1:16 AM 22/12/07
GetIt has just been updated to support Appupdater. Alreadying having support for previously mentioned AppSnap and Win-Get, GetIt indexes ALL supported Applications by ANY of these three application-getters.
You end up with one single list of all applications that you can easily install.
When you wish to install a certain application, GetIt will pick your favorite supported application-getter, should multiple support installing your currently desired application.
[puchisoft.com]
Code6226
brianary
Posted 11:46 AM 23/12/07
This is the main reason why I had to move to Ubuntu. Installs, updates, update monitoring, and "Start" menu maintenance were just taking too much of my time.
I'd rather check a box, thanks.
brianary
ORI0N
Posted 4:38 PM 21/12/07
It's really nice to see that someone (although I agree a repository is too much for just one man) FINALLY got something like it working for windows! However as posted just before me, trust is a major factor to involve. (granted this is ALOT of work to go through to just be installing some spyware etc) However a community envolvement would be a nice and imho welcome addition. Plus then the list can grow even more so. Say foobar 2000 instead of winamp etc.
Great post and I'm glad to see all the commandline folk getting some more coverage then in the past. I feel that GUI's have become too needed for todays PC user and this and the todo.txt are GREAT contributions that I encourgae you all to check out!
ORI0N