What do we mean when asked to use a "clean PC" for capturing our applications? This question has many answers and ultimately depends on what you want to capture. But since that common answer is a little too vague, let's dive into this topic briefly to discuss what is technically involved here.
We all know that when we ThinApp our applications we are simply parsing the differences between two snapshots of our workstation. That in itself is simple enough, but the idea of the "clean PC" really should be phrased as the "The software I want in my ThinApp that is not currently installed, so therefore the differences in my snapshots will be reflected in my capture. " 🙂 The problem is that is way to difficult to place on the SetupCapure window and thus we use the term "Clean PC". But, that is essentially what we mean.
Consider the following. I want to capture my application that requires the .NET framework. Should I already have .NET installed locally or not? This is the simple question that comes up time and again. The answer is equally as simple. Do you want your application to include the .NET framework so you don't need it on the target workstation or would you rather manage that requirement outside of ThinApp. When looked at in this context, it's much easier to make the decision of what to have pre-installed versus what to install during a capture. But what does that have to do with the idea of a clean workstation???
The idea of a clean workstation is just one that does not have the software pre-installed that you want to capture. That's really it. So, the real trick is to understand what software requirements our applications need. Most of the time we find that in the System Requirements provided to us from the application vendor. Other times, we have just learned what an application needs as a matter of practice. When you hear of folks using a "clean PC" that only has the latest SP and no other components like .NET, Java, etc…, one may ask, "Why do they bother if all they need to ensure is that their software isn't already installed?"That too is an easy answer. It's because most of our apps are LOB and we often have very little information to begin with. If I use a workstation like I just described, then the prevailing idea is that if my application needs anything, it will either install it for me or scream about it during the install. This type of error dialog is common for developers who write their setup routines to look for these types of supporting components.
So, what type of workstation will you use to capture your applications on? Just ask yourself this one question, "do i know what my application needs to have in order to run and will the workstation I use this on have those already?" After that, you decide what type of workstation makes the best platform to capture your applications. If you're like me, I have several flavors in VM Workstation to allow me the option to pick and choose what makes sense for the application in hand. Ultimately, you will do what makes sense too, but I thought it would be a good idea to discuss the technical impact to what we call a "clean PC"