Watch the video or read the article below:


Figure 1 Manual Software Installation

Criminy, this new software takes a ri-donk-ulous amount of time to install. How long have I been here, anyway? Let's see. Its 12:34p, and I got here just before lunch. That's over thirty minutes and this stupid installation is still running. The rest of the gang are probably already back from the usual Thursday burger run.

I guess this means yet another vending machine lunch today. Man, I'm tired of corn chips.

Don said it earlier, 'drew the short straw this time, didn't ya'.' Man that guy gets under my skin. Thinks he knows everything, what with his 'certifications' and those thick books of his. The guy's even bragging about PowerShell. Seriously, who needs PowerShell? I mean, why Get-Process, or whatever it's called, when you can just bring up Task Manager.

Shoot, I can get do I need with PSExec, and he knows it. Know it all'


He's right, though. This new app the company's having us install pretty much everywhere, it's been AMPITA for, what, about a month now? We're just not that big a company, I get it, but when a single software installation takes over thirty minutes per machine ' and we've got like sixty machines ' those numbers start adding up.

How many is that, anyway?

Let's see. Thirty minutes per machine'better go forty to be sure. So, forty minutes per machine, times sixty machines is'2400 minutes. Wait a minute, not everybody needs this software. We're not installing it on about half of the desktops. Guess only about thirty machines, then.

So, thirty machines times forty minutes each is'1200 minutes. Divide that by eight hours in a day is'

Figure 2 Hours it Take to Install on 30 Machines

'A hundred and fifty hours. A hundred and fifty? Seriously, a hundred and fifty hours? I'm going to be sitting around here for a couple of weeks at least, coordinating a free hour for thirty-some odd users on thirty-some odd machines'for one freaking software installation? I mean I could be dancing around doing like ten of these at once, but we all know how well that went last time.

I wonder. Maybe we could get a group of the guys together and come in some Saturday. Just knock this thing out, BAM. Saturdays aren't busy. The office is dead. I'd pick up a coupla' pizzas as a bribe.


But'man'this is my burden to bear, and I hate to ask them to come in on their day off. And I've gotta' admit, everyone's getting seriously tired of pizza.

There's got to be another way.


What was that thing Don was talking about the other day? A bundler'packer'packager! Something about a software packager. This install's still got 15% left. Lemme' Google that up on the Intertubes.

'Software packager'. 'MSI Packaging tools'. 'Software package'.

Figure 3 What is a Software Package?

OK, says here a software package is, 'a special method of installing software to a computer.' Generic. Let me try another one. 'MSI application installers'. What does this link say, 'Package and edit MSI application installers. Designed for IT Admins to easily create and distribute.'

Easy is good. Goodness knows we could use a little 'easy' around here for a change. This new software is an MSI installation, for whatever that's worth. Here's an FAQ. Ha! That's exactly my question, 'why should I package applications?'

Indeed, why Don, should we?

Creating a packaged application ensures an application is deployed consistently throughout the enterprise. Additionally, when creating a package, you can validate, and even test deploy to ensure reliability of the deployment. No user interaction would be required (unless specified when creating the package) to deploy the application.

Wait a minute. So, this software packager thing lets me create a 'package' out of a software installation. That package runs, what, without user interaction? I'm guessing that means my interaction in this case. Funny. Not funny.


So this thing takes a look at an installation. It, BAM, snapshots a picture of the computer. Then, I go and install this stupid software one time. Then, gotta' run through that nine-step config after the software's done installing.

Then, snap another picture, and it figures out'



Jeebus.'this thing could solve everything'

So, with this one thing we can watch how software gets installed. We then repack, repackage, whatever it back into a different MSI file. That other MSI file then gets installed onto our computers. And, because its running without user interaction, we could.

Hang on here a sec.


The word they keep using is silently. That updated MSI then runs silently -- no user interaction, no screens, no questions to answer, no Next, Next, Finish. Double-click the MSI, and it starts, does its thing, and then it's done.

With this silent MSI, kicking off a software install from start to finish is no different than running, I don't know, an ipconfig, or a ping'or really any other executable at all. This means'

A software installation is just an executable.

I've always thought there was more to it than that, what with all the wizard boxes and whatnot I've been clicking through these past couple of years I've been doing this IT thing. But'

A software installation is just an executable.

If that's the case, I could log into one of these machines and double-click that executable. And then run to the next computer, and the next, and everything just happens automatically. I bet the thing could even reboot the computer when it's done. That'd save me having to even go back. Just start it and go.

That's automation! But you know what'd be real automation... Wait a minute'

A software installation is just an executable.

PSExec runs executables. Launches the remotely. I've been doing PSExec \\whatever ipconfig to get remote network stuff since the first day I found that tool. Put that silent MSI on our file server, and I could PSExec \\whatever \\fileserver\share\app.msi all day long. Never have to leave my desk. Kick off installs all the time, any time, even at'

Figure 4 Remotely Execute MSIs


'night. Holy smokes. We've got that desktop management thing Don uses. It can remotely run an executable on any computer anytime. We could schedule this install. Get it done for everyone, at once, overnight.

I've got to talk to Don.