Thursday, November 11, 2010

Packaging and Laziness

Some people have asked me: "Dave (that's me), why are MSI installers better?"

That's a great question.  The answer is: because they just are.  Next question?

I mean, really, do I need to explain why?  Answer: No.

Seriously, I'm not going to rip open this topic and try to explain why they are better, because so many other folks have already done that for our benefit.  I suggest http://en.wikipedia.org/wiki/Windows_Installer for a general overview and links to dive in deeper if you want.

But whatever.  What…evs…. (sing that like a high pitched soprano)

There are ways to get an MSI even when your dope-smoking idiot vendors decide it's not worth their time to make one for your benefit.  Imagine that?  A vendor doing something to benefit their customers?!  Holy ****ing ****!  Anytime you encounter a vendor who doesn't give a shit about making an MSI for you it means one thing: They don't have any competition.  And that means they desperately need competition.  Anything, I repeat ANYTHING that does not have competition gets lazy, fat and stupid.  It doesn't matter whether it's a product, a technology, a type of plant, a species of animal or a TV show.

And why is this?

Because human nature is to be lazy.  Sure, we all know some irritating bastard that gets up at 4:00 AM to go running and still gets to the office at 5:30 and stays late.  That bastard will be dead by 50 from stress, so just relax and continue on being your lazy fat self.  What's that? - You don't buy my statement that human nature = laziness?  Then why are you sitting and reading this insignificant crap?  You should be out climbing mountains, finding cures for disease or at least fixing your house or car.  That's right, you know it - we're all lazy.  IT folks are the laziest.  We hate to work, so we write scripts, download utilities, and generally find ways to make things work without having to babysit them 24/7.

MSI packages are the laziest and yet most reliable way to install and (just as importantly) uninstall a software product.  If you have a clean, properly developed MSI package, you only need to know two basic things to get the job done:

msiexec /i <vendor-bongload.msi> /quiet /norestart

msiexec /x <vendor-bongload.msi> /quiet /norestart

Can you spot the difference between the two lines above?

Once you have those worked out you can drink more beer and watch more TV.  But life isn't that easy is it?  Nope.  Vendors don't just rip bongloads, they huff paint cans.  That's why they produce crappy setup.exe files and online installers that are painful to package and deploy to multiple computers.  Even worse, you call them for help, and they act like you're a bill collector seeking payment, rather than a customer to be serviced.  I vaguely remember when vendors actually TRIED to provide customer service.  Good times.  Good times (can you hear the harmonic trailing off in the distance, heavy reverb, dark alley, beer cans…)

This is why I general abhor small developers.  Some are great, and are very attentive to customer satisfaction.  But most are full of shit, obnoxious as an emancipated 12 year old, and just want the sale profit and nothing more.  Even worse than even worse is how the big vendors are adopting a "go-fuck-yourself" customer service approach. Push-button call menus, long waits, pay-per-incident calls, and offshore reps who can't understand any basic problems (let alone simple English).

Ahh, I digress (I do that when I'm drinking IPA's, sorry)  *burp* (pardon me)…

Oh yes. How to get MSI packages out of crap installers.  There are several ways:

  • Try to open the .exe in WinZip or 7-Zip and extract the guts.  This sometimes works very well.  Many times it doesn't.
  • Run the setup.exe and let it sit at the first Welcome form.  Then dive into your %temp% folder and look for extracted goodies.  Copy them out and see if they can be run by themselves.
  • Use a setup capture utility like Wise or InstallShield to snapshot the acid-infested processes those heroine smoking developers have shoved at you during one of their convenience store robberies, and try to wrap that horrific mess into a MSI.  This is like stuffing an acid-tripping, crack-smoking aligator into a flimsy tin trash can and slapping a lid on it with duct tape.  Be careful.
  • If all else fails, try setup.exe /S or /SILENT or /Q or /QUIET or /SMS or /THIS_SHIT_SUCKS_ASS or /BUY-PLAN-TICKET-TO-VENDOR-OFFICE-TO-CHOKE-CRACK-SMOKING-OBNOXIOUS-DEVELOPER
  • or, just find another product and don't do business with that first vendor ever again. Ever.  Never.  As in never ever never ever ever never again.

I mean, really, this is 2010 folks.  Say that out loud, ok?  Say it. "This is 2010!"  It's the 21st century and we still have comatose paint-huffing Justin Bieber fan skateboarders writing code that drives big corporate tasks.  Is this how far we've come?  Holy crap!  We need to start a movement.  A real movement, not just a bowel movement.  A movement to evict these cough-syrup drinkers from the back alleys of software development and restore that former reputation they/we had for making customer-oriented products and services. 

This is where I would normally spill my thoughts about what Microsoft should do to reign in this insanity, but the Softards only care about shareholders and I'm not a shareholder, so, alright, I'll shut up.

Oh and in case you're wondering just what those developers you deal with really look like, here's a behind-the-scenes photo…

No comments: