Amazingly I've been able to shrink the install times down to 25 - 30 minutes (depending on the target machine's hardware), down from the 2 hours that it used to take. Even with this major improvement, there's still a couple of things to be desired:
- Faster build times (if at all possible)
- Better compression of the data
- More protection for the software installation process
- More stability on a broader range of operating systems
- Vista font issues
- faster testing (probably the longest holdup for releasing new versions of the installer)
- updating the installer codebase for compatibility with the latest NSIS release
This is just a desktop machine that has power and an ethernet cable plugged into it. Up to this point we're still in the office though. Since I work from Stillwater during the school year now (or wherever I'm at when I'm not in school) I have been using logmein.com to access the physical machine's desktop to get into the development virtual machine to code and kick out installers. While this isn't exactly a terrible setup, it can be a bit laggy depending on the internet connection I'm working from and as a result can be a waste of time even just to modify a few lines of code and kick out a new installation to test.
I do have a couple of ideas that can at least help with the coding portion of the installer maintenance ritual. It might take a little bit of time to get all of this working properly, but I think it would be well worth the time overall, even for someone that would be working in the office.
My idea initially is to access the installer code on the live virtual machine over the internet directly on my Mac laptop over a Hamachi VPN connection. Next is once I'm done I need a quick way of kicking off the compilation process for the code I need and notification once the compilation ends (either by completing successfully, or by failing). What turns out to be the big project is how fast and what the best option is for rolling out quick web services as a means for project control after I'm ready to compile all of that code and start testing.
Just to be clear, there are several reasons why I don't carry the virtual machines directly on my laptop:
- size of the vm's
- security of the software
- security of the installer code
- easier means of integration with the internal backup strategy.
No comments:
Post a Comment