We use active directory to push out applications and are looking for a solution that can do this:
1) I startup a clean machine (Proberbly virutal )
2) Start up some sort of monitor program
3) Install program XX and whatever else i want in that package.
4) Tell the monitor program to build the installer based on what has changed in filesystem & registry changes.
I know a solution like this exists for novell, so i figure a solution like this might exist for active directory
Any "solution" to repackaging that involves snapshots is going to have problems. Sure-- you're going to get lucky with some applications and they'll snapshot properly. Mostly, though, you're going to end up creating messy packages that have extraneous files in them, poorly chosen keypaths and/or too many keypaths, and dependncies that you don't realize you're making on the underlying operating system and installed patches.
I like what mh says re: making sure that programs aren't already using MSI files internally. Repackaging an MSI with a tool is bad mojo, and will end up messing up the state of the Windows Installer database.
There's no free lunch. A packaging tool can't invoke human intuition in reverse-engineering a setup process. For packages that aren't made with a known packaging tool, my procedure is to use a snapshotting tool (WinInstall LE typically) to get a "bird's eye view" of what an installer is doing, but I end up building my MSI package "by hand" using the WiX toolset to be sure that I have the cleanest, most compatible installation. If the package was made with a packaging tool that can be "de-compiled" then I do that first, and try to build an MSI package that does the same things as the original package.
There's among others Msi Studio pro (not free) which can track actions made by a setup and repackage the app. here's the link. There may be some free tools that i would hear about if someone knows of them. Hope this helps.
I've used Installshield Admin Studio actively for a number of years. It does have its flaws, but it's the best product I've used to create MSIs, however I've never used another commercial product to create an MSI.
Some other utilities that may interest you:
Win Install LE
Orca
InstEd
Wise Installer
I've used WinInstall LE in the past and can vouch for it. In my book anything that's able to package up Oracle software has to be doing something right!
Before you go to package up any given application with any tool, you would be advised to double-check that it doesn't actually already have an MSI lurking inside. Use something like 7-zip to try and extract the setup.exe, or check in your temp folder for installation files.
Maybe you already know this, but I think it's something that does bear repeating.