Я (да наверно и не только я) зачастую сталкиваюсь с так называемыми Portable-версиями (сборками) программ. Суть таких сборок - запихнуть все файлы в один exe-шник и заменить программе пути ко всем временным папкам (а также AppData, DaS, LS и т.д.).
В качестве примера приведу одну из самых мной часто используемых сборок - Dreamweaver 8 - 160 метровый exe-шник, который хранит все создаваемые данные рядом с собой, в отдельной папке. Также сталкивался с Illusrtator`ом CS3 (метров 300) и пр.
Вопрос: с помощью чего упаковываются программы, что в них изменяется, и что они сами (программы) "думают", оказавшись в таком "положении"?