A method for upgrading software at remote locations comprises uploading software
upgrades to a portable computing device and conveying the portable computing device
to the remote locations. The portable computing device ascertains the current software
and hardware present at the remote location and installs the requested software
upgrade if no incompatibilities are detected. Further, the portable computing device
stores a record of what service was performed and what software is presently in
existence at the remote location. The portable computing device communicates with
a corporate computer the records so created and an accounting is performed.