Уменьшение дистрибутива программы

Справочник

Visual Foxpro всех версий делает дистрибутив программы самое малое на 3 дискеты (более 4Мб). Хотя большинство других языков стандартными средствами делают дистрибутивы точно такого же размера (конечно, если требуется работать с базами данных), это не есть хорошо. Почему ? Потому что качать 4Мб из Интернета достаточно накладно, потому что переносить программу на двух дискетах куда легче, чем на трех (третья дискета всегда получается с бэд-секторами), да и вообще маленькая программа всегда лучше большой.

Небольшую программу с шестью-семью таблицами, десятком форм в принципе можно упаковать до размера около 2,7Мб (уже две дискеты). А чем больше программа, тем больше степень сжатия (хотя это относится и к созданию дистрибутивов обычными методами). Как же это все сделать ?

После того, как вы готовы скомпилировать окончательную версию программы не забудьте убрать галочку с Debug info (в меню Project -> Project info). Там же есть галочка Encrypted — можете смело ее ставить, т.к. она никак не влияет на размер exe-файла, а так глядишь может, что еще и зашифрует :-). Затем можно сделать Clean up project. Если честно, я не знаю в каких случаях это помогает, но хуже не будет точно.

Если нет крайней необходимости, не нужно использовать при создании форм Wizards. Потому что как только будет хоть одно поле поставлено на форму с помощью Визарда, то к проекту прицепляется класс wizstyle. Он порядка 300Кб, а толку от него почти никакого.

Это все было касательно самого Фокса. Теперь мы компилируем exe-файл. НО не рекомендуется делать дистрибутив встроенным Визардом. Он при создании дистрибутива затаскивает туда все что ни попадя, а скорее всего это в программе и не потребуется. Выбираем требуемые dll-файлы из windows\system (для Visual Foxpro 5.0 это vfp500.dll и vfp5enu.dll) и сжимаем их программкой ASPack.Эта программа специально предназначена для сжатия exe и dll файлов. Хотя сжимать скомпилированный exe-файл не рекомендуется (хотя тут получается довольно забавная вещь — ASPack вырезает из exe собственно говоря всю программу и при запуске программы она требует исходные prg и остальные файлы, и если ей все показать работает как ни в чем не бывало ;-). А вот сжать эти две dllки можно и нужно. Их размер уменьшается сразу в два раза — и вот это и будет основным выигрышем в нашей борьбе с размером.

Теперь остается только запаковать программу и dllки каким-нибудь инсталлятором (а о них вы можете почитать тут) и все 🙂