Software Library Recommendations

Any developer’s toolkit is going to involve a decent amount of software. An automation programmer’s toolkit is full of odd-ball, proprietary, weird dependency driven configuration software. Here are some quick tips my mentor shared with me regarding software installers when I started doing automation programming.

When I first got my laptop, she sat me down and walked me through this process:

  1. Build a Software Folder on the C: drive for storing any installers you come across. Do not store software in Documents, Downloads, Desktop or only on an external drive.
  2. File the software by vendor, then by software name_version number. Keep old versions of software if you can.
  3. Keep any special installation instructions with the install file. Maybe also include any license numbers or files just in case you cannot access web log-ins at a later date.
  4. Backup. Backup. Backup.

Following these rules ensures your software is always in one place for easy access (Computer->C:->Software). This makes backup easier, only one location to backup. She recommended keeping a local copy instead of storing on an external drive so you don’t have to pull out a hard drive anytime you need to install something. This saves me a lot of time. Although if you’re talking Rockwell software maybe leave it on an external drive…

Keeping the files right inside the C: drive also had some other benefits. I have found that some software installers need to be as close to the root of a drive as possible. This is because the filename can be much longer in a user folder than the installer allows. The installer will usually error out or crash if that is the case.

I also took her recommendations on archiving software a little further:

  • Keep a network or external hard drive backup with ALL the software versions. You never know when a back dated version will save your butt when you stumble across some really old piece of gear that is incompatible with the newer software.
  • If you have a backup of the software installer, delete old unnecessary versions from your computer to save hard drive space. If a version has known major issues, consider deleting it altogether or including a readme file with the installer explaining what the issues are/were.
  • Try to get standalone installers for some of the common dependencies. .NET Frameworks are great examples since the newer installers are all web based and download as required. If you are in the field without internet having that standalone installer for .NET is going to be a life saver.
  • Use a second drive in your machine for storing the Software folder. Many laptops can accommodate two hard drives. Some laptops also come with two partitions; a smaller C: drive for your OS and a larger D: drive for data.
  • Only keep BETA software for testing and eliminate it or segregate it when you are done. No one wants untested or incomplete software used on their production systems.

Where I work I was getting repeated emails from field techs looking for various software to download. So I copied files for a day to the network storage, made a network drive and this has pretty much eliminated any calls I used to receive. The IT group made sure the drive was added to everyone’s computer using a logon script (note: we are on a windows domain and most laptops are domain controlled). After this was in place we also eliminated any rogue software stores on department network drives as this new Software drive was accessible across departments.

Enjoy and keep your stuff organized!