Вниз
Скачать: CL | DM;

Уменьшение размера EXE-ншика   Найти похожие ветки 

← →
Laguna ©   (2011-10-31 08:35) [0]

Иногда приходится видеть, что после сборки проекта его объем составлят от 2.5 до 3 мБ. Чтобы уменьшить размер, пользуюсь UPX. Но при отсылке по почте упакованного EXE-ншика Avast не пропускает, говорит якобы вирус, хотя проверяя его отдельно ничего не находит. Но вопрос не в том, а вот в чем. Наткнулся на статью http://tehnik.by/sovet/po/1461-delphi рассказывающую, как уменьшить размер файла. Включал указанную директиву, но никаких зменений не происходило. Что до включения, что полсле, размер exe-шника был одинаковым. Настройки проекта :

http://s017.radikal.ru/i440/1110/25/3e6d7badb976.jpg

Кстати, отключение Debug Information тоже никак не повлияло на размер файла. Может у меня чего нарушилось в IDE ?


← →
Омлет ©   (2011-10-31 08:49) [1]

> Наткнулся на статью http://tehnik.by/sovet/po/1461-delphi рассказывающую, как уменьшить размер файла.
>> В среде программирования Delphi 2006 и выше


А у тебя D7.
Используй утилиту StripReloc.

> Чтобы уменьшить размер, пользуюсь UPX

Лучше сделай инсталятор - он размер уменьшит и много чего поможет сделать.


← →
Eraser ©   (2011-10-31 08:54) [2]

> [0] Laguna ©   (31.10.11 08:35)

зачем уменьшать, в наше время это уже не актуально.


← →
Омлет ©   (2011-10-31 08:57) [3]

> Laguna ©   (31.10.11 08:35)  
> Кстати, отключение Debug Information тоже никак не повлияло на размер файла. Может у меня чего нарушилось в IDE ?


Отладочная информация добавляется в dcu, а не в exe. Так что нет смысла её отключать (разве что для ускорения компиляции).


← →
Ega23 ©   (2011-10-31 09:12) [4]

Рекомендую ознакомиться:
http://www.gunsmoker.ru/2010/12/blog-post.html


← →
Laguna ©   (2011-10-31 09:14) [5]

> Eraser

Пока еще актуально, при использовании сети на предприятии и загрузки сетевого трафика при отправке по почте.
Проверил в работе утилиту StripReloc (Омлет спасибо). Уменьшает размер, но не значительно
 исх. - 3041792
 вых. - 2913280
UPX конечно же получше жмет.


← →
QAZ   (2011-10-31 09:28) [6]


> Омлет ©   (31.10.11 08:57) [3]

да неужто :)


← →
QAZ   (2011-10-31 09:30) [7]


> после сборки проекта его объем составлят от 2.5 до 3 мБ

аты переходи на ХЕ2,точно удар хватит


← →
Anatoly Podgoretsky ©   (2011-10-31 09:34) [8]

Зато добьешься скандала со стороны антивирусов


← →
Плохиш ©   (2011-10-31 09:38) [9]


> Пока еще актуально, при использовании сети на предприятии
> и загрузки сетевого трафика при отправке по почте.

Для локальных сетей уже лет 15 как не актуально. По почте отправляют упакованными, и антивирусам, в большинстве случаев, пофигу есть там вирус или нет, exe в письме - вирус. Кстати, существует FTP.


← →
Омлет ©   (2011-10-31 09:44) [10]

> Laguna ©   (31.10.11 09:14) [5]

StripReloc просто отрезает небольшой ненужный кусок от exe-файла, это не пакер.

> QAZ   (31.10.11 09:28) [6]
> да неужто :)


Есть другое мнение?


← →
QAZ   (2011-10-31 09:58) [11]


> Есть другое мнение?

ага,оно пишеца в ексешник


← →
Омлет ©   (2011-10-31 10:05) [12]

> QAZ   (31.10.11 09:58) [11]
> ага,оно пишеца в ексешник


Кто вам сказал?
Как вы объясните замечание из [0]:

> отключение Debug Information тоже никак не повлияло на размер файла.


← →
Омлет ©   (2011-10-31 10:09) [13]

> QAZ

И сейчас вы скажете, что имели в виду TD32 debug info? )


← →
QAZ   (2011-10-31 10:10) [14]

точняк, рунтайм ерор много пишеца ,а от дебуга в районе 500 байт прибавки


← →
Laguna ©   (2011-10-31 11:04) [15]

> Плохиш ©   (31.10.11 09:38) [9]

> Для локальных сетей уже лет 15 как не актуально. По почте
> отправляют упакованными, и антивирусам, в большинстве случаев,
>  пофигу есть там вирус или нет, exe в письме - вирус. Кстати,
>  существует FTP.


Я не про лоrалку говорю. Наше предприятие завязано по всему району по adsl. Работа с почтой организована через аутглюк. Про отправку EXE в чистом виде и речи нет, аутглюк сам блокирует(котя есть примочка отучить его от этого). А Аваст ругается именно на приаттаченный архив. http://s017.radikal.ru/i400/1110/ac/6d01c4f59614.jpg


← →
SQLEX ©   (2011-10-31 11:22) [16]

запаковать с паролем?


← →
Laguna ©   (2011-10-31 11:30) [17]


> запаковать с паролем?


А что это даст?


← →
Anatoly Podgoretsky ©   (2011-10-31 11:31) [18]

> Laguna  (31.10.2011 11:30:17)  [17]

Это не позволит опознать вирус, но может привести к детектированию как
трояна


← →
Laguna ©   (2011-10-31 11:42) [19]

Только что проверил и обнаружил, что аутглюг ругается на архив ZIP !!! Rar пропускает на ура. Хм, по привычке упаковываю Тоталом через ALt+F5 зипом и никогда не заморачивался, а сейчас задумался.


← →
Омлет ©   (2011-10-31 11:58) [20]

По почте exe лучше не посылать. Посылай ссылку, пусть качают.


← →
Ega23 ©   (2011-10-31 12:02) [21]

Я вот только одного не понимаю: как размер exe коррелирует с возможностью/невозможностью отправки оного по почте?
Ну и таки да, выкладывай новый exe на сервер и рассылай ссылку для скачивания (некошерный вариант), либо предусмотри возможность проверки наличия новой версии непосредственно из программы (кошерный вариант)


← →
Laguna ©   (2011-10-31 12:12) [22]


> По почте exe лучше не посылать. Посылай ссылку, пусть качают.

Можно и так конечно. Есть у нас свой FTP.

> Я вот только одного не понимаю: как размер exe коррелирует
> с возможностью/невозможностью отправки оного по почте?

Потому что админ установил ограничение на размер файла. Долго объяснять зачем и для чего, поверьте на слово, размер имеет значение.


← →
Омлет ©   (2011-10-31 12:15) [23]

> Потому что админ установил ограничение на размер файла.

И правильно сделал. Нефик многометровые письма слать.


← →
Anatoly Podgoretsky ©   (2011-10-31 12:28) [24]

> Laguna  (31.10.2011 12:12:22)  [22]

Outlook Express в состоянии разбивать сообщения на куски и склеивать их при
приеме.
Многие другие почтовые клиенты это тоже могут.
Так что размер файла не играет никакой роли. Не имеет значения.


← →
Плохиш ©   (2011-10-31 12:31) [25]

Всё стандартно и неинтересно - высосать проблему из пальца, а потом её героически решать.


← →
Ega23 ©   (2011-10-31 12:32) [26]


> Потому что админ установил ограничение на размер файла.

Я хочу забить гвоздь микроскопом. Админ запретил забивать гвозди микроскопом (долго объяснять зачем и для чего, поверьте на слово, инструмент имеет значение). Как бы мне сделать так, чтобы микроскоп был максимально похож на молоток?

Может таки пора молоток использовать для забивания гвоздей?


← →
Очень Злой   (2011-10-31 12:33) [27]


> зачем уменьшать, в наше время это уже не актуально.


Менее актуально - это не значит что совсем не актуально.
И когда-то такая позиция как Ваша (имеется ввиду не только сфера прораммирования) приведет к гибели всего человечества.


← →
Laguna ©   (2011-10-31 16:49) [28]

Смысл вопроса [0] плавно перерос в обсуждение способа передачи файла.


← →
alexdn ©   (2011-10-31 17:52) [29]

> Плохиш ©   (31.10.11 09:38) [9]
> Для локальных сетей уже лет 15 как не актуально. По почте
> отправляют упакованными, и антивирусам, в большинстве случаев,
>  пофигу есть там вирус или нет, exe в письме - вирус.
действительно, раром паковать и всё


← →
Ega23 ©   (2011-10-31 17:54) [30]


> Смысл вопроса [0] плавно перерос в обсуждение способа передачи
> файла.


Смысл вопроса в [0] несколько странен.


← →
И. Павел ©   (2011-10-31 17:55) [31]


> Потому что админ установил ограничение на размер файла.

У вам ActiveX, или программа просто будет пересылаться по почте?

Если второе - то просто встройте в программу возможность разбиваться на несколько частей и пересылать себя по почте - в принципе, ничего сложного, если только не пользоваться старым indy :) Нет смысла извращаться над программой в угоду странному ограничению, установленному администратором.


← →
Rouse_ ©   (2011-10-31 18:03) [32]

Уменьшение размера исполняемого файла оправдано разве что в случае SFX-стаба к оверлею.
НО раз уж сильно хочется, то варианты:
0. Переписать проект с использованием BPL (BPL пользователь пусть сам ищет, зато размер махонький будет)
1. Переписать проект под KOL/MSK
2. Переписать проект без VCL на API
3. Использовать пакер UPX/ASPack/любой другой вплоть до собственной наколеночной реализации SFX->оверлей
4. Реализовать логику в облаке, пользователю предоставлять лилипутский шлюз-оболочку к облаку
5. Написать архиватор, пакующий экзешник в один байт...


← →
Rouse_ ©   (2011-10-31 18:05) [33]


> Rouse_ ©   (31.10.11 18:03) [32]
>
> Уменьшение размера исполняемого файла оправдано разве что
> в случае SFX-стаба к оверлею.

имеется ввиду что на дельфе объектник для контроллера с маленьким кристалом ваять не нужно...


← →
Eraser ©   (2011-10-31 18:10) [34]

> [15] Laguna ©   (31.10.11 11:04)


> Про отправку EXE в чистом виде и речи нет, аутглюк сам блокирует(котя
> есть примочка отучить его от этого).

то то и оно. и в архивах очень часто почтовики могут искать экзешники и банить письма. пиши инсталлятор, причем на базе MSI. там конктент сжимается.


← →
Dennis I. Komarov ©   (2011-10-31 19:43) [35]


> Плохиш ©   (31.10.11 12:31) [25]
> Всё стандартно и неинтересно - высосать проблему из пальца,
>  а потом её героически решать.

+100500

З.Ы. А поди софт представляет из себя один эхешник...


← →
Laguna ©   (2011-10-31 20:02) [36]


> пиши инсталлятор, причем на базе MSI. там конктент сжимается.


Так ведь инсталлятор сожмет экзешник, формируя свой механизм инсталляции. А в конечном итоге распакуется со своим старым размером. Вроде так, нужно проверить.


> З.Ы. А поди софт представляет из себя один эхешник...

Ну зачем же так...?


← →
Ega23 ©   (2011-10-31 20:17) [37]


> Ну зачем же так...?


а как?


← →
Laguna ©   (2011-10-31 20:39) [38]


> а как?


Есть такая пословица "Гусь свинье не товарищ".(ни в в чью сторону не сказано) Может для кого то набор в папке экзешник + ини-файл настроек + папка Data и есть олноценная программа. Для других экзешник + куча дополнительных dll + оверлеев + еще всякой хрени. У каждого свое видение и умение и не нужно за это осуждать.


← →
Inovet ©   (2011-10-31 20:41) [39]

> [36] Laguna ©   (31.10.11 20:02)
> А в конечном итоге распакуется со своим старым размером.

Ну и хорошо, что не сжатый будет.


← →
Ega23 ©   (2011-10-31 21:03) [40]


> Есть такая пословица "Гусь свинье не товарищ".(ни в в чью
> сторону не сказано) Может для кого то набор в папке экзешник
> + ини-файл настроек + папка Data и есть олноценная программа.
>  Для других экзешник + куча дополнительных dll + оверлеев
> + еще всякой хрени. У каждого свое видение и умение и не
> нужно за это осуждать.


Тем более имеет смысл подумать об автоматическом централизованном обновлении



Страницы: 1 2 3 вся ветка

Скачать: CL | DM;



Память: 0.55 MB
Время: 0.007 c
15-1319989105
Кто б сомневался
2011-10-30 18:38
2012.02.19
Кажись уже есть компилятор Delphi x64?


11-1215359585
NikFel
2008-07-06 19:53
2012.02.19
Как убрать HScroll в TkolListView.


3-1272269462
Kobylyansky
2010-04-26 12:11
2012.02.19
ibConnectionBroker+пример


15-1320125891
alexdn
2011-11-01 08:38
2012.02.19
3d визуализация


3-1272022775
Kobylyansky
2010-04-23 15:39
2012.02.19
Firebird+тип сервера




   Наверх