I know this can be done and i have seen it done using some front end gui tool (using robocopy internally) I am just not able to lay my hands on this stuff tried google but wasn't able to get to it.
I am about to start a new project and i have finished setting up a desktop with all the tools required on that machine. what i want now is a tool or utility...to which i can say here is one folder , (and some other folders..) take this and prepare some sort of setup program which when run on any machine (winxp sp3) will copy/install all those programs onto that machine.
To add to this, I have the build server virtualized and i am not talking about virtualization and ghost images. i have some software utilities that make a programmers life easier (such as IDE's with varoious plugins (with correct configuration and versions), Small Software tools (tcp monitors), etc.) which I want to add to a developer machine.
I don't think anyone is reading the question entirely. I said I have seen this thing get done, by some front end gui program which generates a setup program i am not able to find the program which does this and it uses robocopy internally, which you can copy in a redistributable location (pendrive/networkdrive/ftp/http...the list goes on)...upon execution of which that program will copy all the programs and files to the target machine on which this setup is run...and i am not talking about simple file copy...that would be an easy batch/powershell script...i think that can be done very easily...and if nothing comes up i will do exactly that....but robocopy might skip the programs like launchy and shell extensions...
Ok...I gave it another thought (for now i have done a workaround...)...does anybody know of a program that can generate setup programs like installshield etc...and which come for free...
The persistent bastard that i am... nullsoft scriptable install system blew my horn. and thanks to that i now have a setup.exe which i can run on any system and make that system feel like home to any good java developer.
NSIS is the answer to this sort of Magic trick.
I have a couple of different base development environment configurations hosted on virtual machines (Virtual Server 2005). Once I was happy with them I sysprep'd them. Now when I need an environment for a specific project type I clone the VM with the config I require, start it up and and off I go to work. The great thing is that if I wreck the VM all I need to do is start afresh from one of the sysprep images. It's such a timesaver.
Acronis Trueimage is a good way if you have performance/memory issues for your machine! (if you want a full reinstall).
We use VMWare to supply a full image from the network or from a portable hard disk. You benefit from the same (custom) host environment which project depending guest changes. For bigger projects we think about VMWare view, because we have an already delopyed ESX Cluster running.
If you only search for software distribution utilities, you should have a look at Microsoft SMS
If you happen to be developing ASP.NET in the Windows environment, the Microsoft Web Platform Installer is a good bet for getting a new workstation up and running quickly.
Maybe you are talking about the Robocopy GUI. I haven't tried it myself, so I don't know if it's what you're looking for.
Otherwise, Ghost should be able to just pick some folders and files and not only complete OS's so that might be a better choice, not sure if you can deploy the software in other directories than the one on the master machine though.
Or, if you actually are going to do it to a lot of machines, then maybe a deployment software like Microsofts SMS would work.
Using an installer of a virtualization package is the obvious technical answer, but you should also think about some written processes as well.
One of the things that always happens to me, is I keep thinking that "I'm just doing this once, or if I have to do it again, I'll remember what I loaded, where I got it from, and how I configured it."
...and I'm usually wrong. I almost always end up duplicating one environment because I got another machine, or I'm working from another location, or something failed, etc.
So, I strongly recommend keeping a written record, but nothing too sophisticated, at first. Something simple like: name of package, current version, and why you loaded it.
If you start doing something again and again, you might want to start putting down the steps, especially if it is a shared resource. If you need to do it a lot, you might keep all the software images in one place, like a shared folder or a USB flash drive.
(In the brave, new Web 2.0 world, you could use a ticket tracker like Fogbugz online to keep track of this stuff, one ticket per system type...)
The main thing to remember is that, these configurations often take a life of their own, and live far beyond your expectations. You will probably need to support new operating systems, new releases, etc.