Итак, первые тесты скрипта.
1. Кнопка "Отмена копирования" работает

Правда жалко, что не выдаёт сообщение во время отмены копирования.
2. Массивные файлы копирует шустро, а вот со множество мелкими копирование подвисает. Однако это не отменяет того факта, что файловый массив, весом в 20гб (как с мелкими, так и тяжёлыми файлами) скопировало за каких то 20 минут (и это на зелёном харде с умирающим смартом)))
3. А вот с функциями NumToStr( mCopySize ) и NumToStr( AllSize ) творятся чудеса.
3.1. Функция NumToStr( AllSize ) показывает отрицательное значение.
3.2. В функции NumToStr( mCopySize ), при достижении достижении значения ~2200к байт, значение превращается в отрицательное и начинает возрастать "из минуса".
4. Неприятный баг. Во время копирования файлов, если свернуть инсталлятор, он больше не разворачивается.
5. Чисто технический нюанс. Когда деинсталлируешь программу, скопированные файлы не удаляются.
Дык в нужном месте вставить функцию.
Эх... если бы я был так умён как вы

К сожалению, у меня почти нету навыков в работе с delphi.
Можно конечно его немного доделать, поставить, например, отображение копирования в прогрессбар, но это уже не ко мне
Где-то видел в рунете подобные скрипты, попробую прикрутить))
Кстати, возник ряд вопросов, относительно скрипта.
1. Можно ли как нибудь указать в (PathOut) отдельный файл, т.е. не используя маску. При использовании маски он в упор не хотит копировать то, что мне нужно. Точнее копирует, но не всегда тот файл, который нужен + папки и файлы с обрезанными кусками в их именах.
2. В (PathIn) как заставить работать константу {app}?
3. И исходя из второго пункта, если там всё же как то можно прицепить константы, как реализовать автоматическое определение, куда копировать файлы. Пробовал через {reg:HKLM\....}. Безуспешно.