It takes some time to setup, but afterward building new version is pretty straightforward.
First, update config file UDKGame\Config\DefaultEngine.ini or DefaultEngineUDK.ini.
There are 4 sections you need to update: [Engine.ScriptPackages], [UnrealEd.EditorEngine], [Engine.StartupPackages] and [Engine.PackagesToAlwaysCook].
Add here lines for all new script packages like this:
If you do not use classes from UTGame and UTGameContent then it`s safe to remove them from config.
You need to add there lines for script packages. That settings is used to include scripts for compiling step, so there are high chances that settings are already done.
Add lines for content packages at this section. You need to add here only packages that need to be loaded all time, e.g script packages, font packages. Also include here packages resources from are referenced dynamicaly via DynamicLoadObject() method. Otherwise such packages will not be cooked.
You need to add here packages that are not referenced from other packages but still need to be distributed, e.g. entry level map.
After this setup fire up UDK Frontend and run build cycle - recompile, cook, package. After this you will get installer with cooked game. That game only has executables, configs, maps, separate texture file and Startup.upk package with all other resources.