The 10 Commandments for setup program designers

BEHOLD, for I am the Angry Technician, and I am the gatekeeper between the cheap cardboard box your software arrived in and the hundred-thousand-pound computer network that is my Domain.

Heed my commandments and thy software shall pass unscathed onto the user’s workstation, but beware! Failure to obey will bring my wrath upon thee and thy company, resulting in profuse swearing and a pithy blog post.

  1. Thou shalt hire someone who actually knows what they are doing, for your skill in creating educational Flash games that prove inexplicably irresistable to teachers does not necessarily translate to any competence in enterprise-grade software deployment.
  2. Thou shalt use Windows Installer, for if I cannot use Group Policy Software Installation thy software shall be cast forever into the round file.
  3. Thou shalt not use Windows Installer to wrap a legacy installer, for this is heresy and never works properly.
  4. Thou shalt ensure any options your installer needs can be scripted, for if I have to type in the licence number on every single machine I will find you and break your fingers.
  5. Thou shalt allow me to choose the location of the shortcuts, for arrogance in assuming you are important enough to have a shortcut on the desktop will be punished in the afterlife, or sooner if ever we shall meet.
  6. Thou shalt not display any user interface during a silent install, for this is non-standard behaviour for Windows Installer and means you have screwed it up somehow.
  7. Thou shalt allow me to disable the auto-update feature, save for if it can update without requiring the user to have administrative privileges that they cannot be trusted with.
  8. Thou shalt not install out-of-date prerequisite software, because if I have to rip out one more 2-year old copy of Java that has massive security flaws, a plague of locusts will consume your cubicle. Don’t think I can’t get them, I know a guy.
  9. Thou shalt only make changes to the system that are actually relevant to your software, because I do not need to clean up after your installer that accidentally copied 28 shared system files from your Windows XP computer onto my computers running Vista.
  10. Thou shalt not refuse to install just because you think my computer is too slow, because I didn’t ask for your opinion, I asked you to install some software. The only person permitted to insult my computer is me. If I say my computer can run your software, it can run your software.


About The Angry Technician

The Angry Technician is an experienced IT professional in the UK education sector. Normally found in various states of annoyance on his blog. All views are those of his imaginary pet dog, Howard.

19 responses to “The 10 Commandments for setup program designers”

  1. Ray says :

    This is perhaps the funniest post for a few months. I mean the others are all funny, but this one has obviously been thought about a lot before writing.

    Keep going

  2. Taren says :

    And may your will be done.

    (may I suggest a bit of Spanish Inquisition may also be used if locusts become unavailable)

  3. hazymat says :

    Good God, that is hilarious.

    Having taken the painful but strong stance at a number of schools that non-compliant software (software that doesn’t comply with the above) should be consigned to the round file – at secondary and at primary schools alike, all with poor decisional leadership and a penchant for software built for Windows 95 and/or Quicktime version 2 – I feel in the morally irreproachable position of being able to enforce these commandments with true integrity.

    Bravo. I’d be happy to fund the publishing of communist-style pamphlets of the above and distribute them freely at education software trade shows.

  4. TheCrust says :

    Conversation in the office has suggested you might want to include a number 11: “Thou shalt not install the f****** google toolbar”

  5. Fobbedoff says :

    And lest we forget the cardinal sins of progress bars and estimated installation times that lie, installations that cause a users profile to fill with unnecessary stuff (Adobe), applications that are not really multiuser aware (relates to AT’s rule 1 above) and installation routines that like to install start up programs that display a logo in the system tray (just so the user can fiddle with the settings and break the program).

  6. Dale says :

    I’d add “Thou shall not require Admin or Power User rights to be used.”

    I work as a desktop soe guy. Apps which require admin rights, GIVE ME THE S***S.

    • AngryTechnician says :

      Most applications themselves should not require admin rights, but in my book it’s perfectly acceptable for the setup program to require admin rights; in fact it’s preferable in many cases. Allowing limited users to install anything they want is a recipe for disaster.

  7. Chris says :

    Thou shalt allow me to have redirected files when installing a program via windows installer. Why the hell does it care that I’ve redirected my pictures or favorites!

    • Daniel Lee says :

      The problem with this Chris is that Windows Installer by default will try to resolve default paths. If you have moved paths and the system registry says the paths should be in one place and the paths are not found then Windows Installer will fail.
      A standard Windows Installer setup will include these paths in the directory table. I have in the past removed them because I have felt that they are extraneous to my installation, but Microsoft for some reason feels that they should be part of a standard installation. That is why you see them in so so many installation packages.

      Dan Lee

  8. Mark Scholes says :

    So is there a list of software that complies/fails?

  9. ScottishTech says :

    You’d think the company responsible for the MSI would have all of their programs working with full compliance, but that’s not the case – lead by example, I guess? :)

  10. Daniel Lee says :

    I don’t know what I think about #10. The problem as a Setup developer, it is not me that sets what the system requirements will be. The system requirements are set by Project Managers and people in marketing. It is my responsibility to implement policies in the installations to enforce requirements. So if your machine does not meet certain requirements for memory then I have to enforce that.
    However, since you are a knowledgeable administrator, you know that you can create a transform which can override that requirement if desired. Usually these requirements are listed on that little cardboard box that the shiny disc came in.

    • AngryTechnician says :

      In my opinion, a setup program is well within its rights to warn about requirements, but the user should be allowed to ignore them if they want. Sometimes the failed requirements may be down to inaccurate detection (especially if the setup program is a few years old), or require drivers to be present that will be installed later.

      If its a Windows Installer package, then the conditions can indeed be overridden. Often this is not the case with other kinds of installer.

  11. ScottishTech says :

    Thou shalt not launch Windows Installer, prompting the user for media after the software package has been installed with a FULL installation. Office 2003 and Front Page, I’m looking at you!

    (Yes, I know they’re knocking on a bit but we’re still forced to use them in our Authority)

Trackbacks / Pingbacks

  1. Some (probably pointless) software rants - 8th November, 2013
%d bloggers like this: