Requirements for a clean capture

%3CLINGO-SUB%20id%3D%22lingo-sub-225224%22%20slang%3D%22en-US%22%3ERequirements%20for%20a%20clean%20capture%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-225224%22%20slang%3D%22en-US%22%3E%3CP%3ESpecific%20issue%3A%20I%20use%20the%20tool%20to%20capture%20an%20installer%20for%20an%20application%20that%20has%20a%20dependency%20on%20vc140%20runtime.%26nbsp%3B%20Because%20of%20the%20requirement%20to%20install%20the%20SDK%20on%20the%20capture%20box%20in%20order%20to%20perform%20the%20capture%2C%20this%20runtime%20is%20installed%20(along%20with%20a%20ton%20of%20other%20crap)%20onto%20the%20machine.%26nbsp%3B%20Therefore%20the%20app%20installer%20to%20be%20captured%20determines%20that%20the%20requirements%20are%20met%20and%20does%20not%20install%20the%20requirement%20and%20it%20is%20not%20captured%20in%20the%20package.%26nbsp%3B%20This%20package%20cannot%20be%20used%20on%20a%20machine%20without%20the%20pre-requisite.%26nbsp%3B%20The%20app%20will%20just%20fail%20and%20the%20handling%20of%20the%20error%20is%20completely%20dependent%20on%20the%20app%20vendor%2C%20which%20may%20not%20help%20anyone%20understand%20that%20there%20is%20a%20missing%20dependency.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMore%20general%20issue%3A%20In%20package%20capturing%2C%20our%20experience%20has%20been%20that%3A%3C%2FP%3E%3COL%3E%3CLI%3EThe%20pre-capture%20environment%20should%20contain%2C%20as%20close%20as%20is%20possible%2C%20nothing%20other%20than%20the%20base%20OS%20and%20well%20known%20common%20components%20that%20will%20always%20be%20available%20on%20the%20target%20systems.%3C%2FLI%3E%3CLI%3EThe%20OS%20image%20on%20which%20the%20capture%20is%20being%20done%20needs%20to%20have%20very%20few%20moving%20parts.%26nbsp%3B%20Turning%20off%20search%20and%20updates%20are%20a%20good%20start%2C%20but%20there%20are%20many%20more%20things%20going%20on%20that%20should%20be%20addressed%20somehow.%3C%2FLI%3E%3C%2FOL%3E%3CP%3EOn%20the%20first%20item%2C%20our%20experiences%20in%20App-V%20capturing%20were%20to%20solve%20%231%20using%20a%20minimal%20OS%20with%20nothing%20added%20except%20for%20the%20capture%20tool%20(the%20sequencer).%26nbsp%3B%20Microsoft%20made%20sure%20that%20the%20sequencer%20did%20not%20add%20any%20additional%20components%20that%20would%20not%20also%20be%20present%20at%20the%20client.%26nbsp%3B%20This%20tool%20needs%20to%20do%20the%20same.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhile%20there%20are%20things%20I'd%20like%20to%20see%20the%20tool%20do%20pre-install%20(like%20flush%20the%20ngen%20queues%20and%20turn%20off%20Windows%20store%20app%20updating)%2C%20we%20ultimately%20probably%20deal%20with%20this%20via%20conditioning%20of%20a%20%22clean%20VM%20snapshot%22%20to%20do%20the%20packaging%20on.%26nbsp%3B%20We%20will%20need%20more%20documentation%20on%20how%20that%20capture%20works%20to%20be%20successful.%26nbsp%3B%20So%20documenting%20things%20like%20exclusions%20implemented%20by%20default%20(files%2Ffolders%2C%20registry%2C%20and%20processes)%20and%20maybe%20giving%20us%20control%20over%20them%20would%20be%20good.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
MVP

Specific issue: I use the tool to capture an installer for an application that has a dependency on vc140 runtime.  Because of the requirement to install the SDK on the capture box in order to perform the capture, this runtime is installed (along with a ton of other crap) onto the machine.  Therefore the app installer to be captured determines that the requirements are met and does not install the requirement and it is not captured in the package.  This package cannot be used on a machine without the pre-requisite.  The app will just fail and the handling of the error is completely dependent on the app vendor, which may not help anyone understand that there is a missing dependency.

 

More general issue: In package capturing, our experience has been that:

  1. The pre-capture environment should contain, as close as is possible, nothing other than the base OS and well known common components that will always be available on the target systems.
  2. The OS image on which the capture is being done needs to have very few moving parts.  Turning off search and updates are a good start, but there are many more things going on that should be addressed somehow.

On the first item, our experiences in App-V capturing were to solve #1 using a minimal OS with nothing added except for the capture tool (the sequencer).  Microsoft made sure that the sequencer did not add any additional components that would not also be present at the client.  This tool needs to do the same.

 

While there are things I'd like to see the tool do pre-install (like flush the ngen queues and turn off Windows store app updating), we ultimately probably deal with this via conditioning of a "clean VM snapshot" to do the packaging on.  We will need more documentation on how that capture works to be successful.  So documenting things like exclusions implemented by default (files/folders, registry, and processes) and maybe giving us control over them would be good.

 

0 Replies