General Information : Q: How can I tell what ICs are required to ship with my application?

Q: How can I tell what ICs are required to ship with my application?
Problem
I’ve packaged my application as an IC and now I need to know what other ICs I need to include with my IC at runtime.
Solution
The following script can be run to determine the ICs that are needed at runtime. It will show a list of all the IC packaging instructions that are currently loaded. When you select a packaging instruction, the required runtime ICs will be listed on the Transcript.
 
| icCollection instructionNames instructionName instructionClass work |
 
instructionNames := (EpAbstractPackagingInstructions withAllSubclasses
collect: [ :ea | ea name asString]) asSortedCollection asArray.
instructionName := CwListPrompter new
title: 'Find IC files required by the selected IC';
items: instructionNames;
prompt.
instructionName size = 0 ifTrue:[ ^self ].
instructionClass := Smalltalk classAt: instructionName ifAbsent: [^self].
icCollection := Set new.
icCollection add: instructionClass dumperOptions imageFileName.
instructionClass prerequisiteICs do: [:eachICInstructionClass|
icCollection add: (eachICInstructionClass asClass) dumperOptions imageFileName].
work := Transcript bringToFront.
work cr;
nextPutAll: '******* The required ic files for ',instructionClass name,' *******';
cr;
cr.
icCollection isEmpty
ifTrue: [work tab; nextPutAll: 'No IC files needed.'; cr]
ifFalse: [icCollection asSortedCollection do: [:each| work tab; nextPutAll: each; cr]].