The most important thing to understand about your packaging process is that it is a well-defined process that helps you package many applications successfully. Your process may vary but I want to share mine for you reference.
Use virtual machines and virtual machine snapshots to keep a repository of the various environments. Choose the environment suitable for the package you want to create. Remember that the starting point will dictate the outcome of your packaging process.
Launch the application before running the postscan snapshot. You must make sure the application works as expected and you should customize it to fit your environment. Many applications make a lot of changes to the system on first launch, which are often important to capture. If the application registers its license to the machine in the during its first launch, then you should of course not launch it.
I always use WriteCopy as my default filesystem isolation mode. This way I know...