I recently came across application virtualization concepts at Thinstall (http://www.thinstall.com), and thought of sharing with you guys. Using this you can create a single executable of any windows application (which will include all the dlls, ocxs, registry settings etc etc) and run it on the client machine without installing anything. For example, you can create an application exe (which includes .net framework capture), and run it on machine which even does not have .NET. And the good thing is that it works. Pretty slick. This can solve so many deployment issues.
Microsoft also has application virtualization suite, earlier called softgrid. Symantec is also into this space. Lets see how it turns out.
Sphurthy
http://programming-questions.blogspot.com