Вопрос Как по максимуму можно сжать инсталлятор?

Статус
В этой теме нельзя размещать новые ответы.

rwork

Мимокрокодил
Всем привет.
Я новичек в программировании и особенно в создании репаков, поэтому столкнулся с довольно важной проблемой:

Оригинальный дистрибутив программы весит ~1.7 МБ
Папка с установленной программой ~4.5Мб
Папка после очистки ненужных файлов и активации программы ~3.2 МБ

После этого собираю все этом в inno setup и получаю ~7Мб установочный файл, с выставлением компреседа lzma2 стало ~ 5Мб.


Помогите новичку.

Как мне сжать программу и сделать установочный весом 1-2Мб?
 

Хамик

Старожил
Вот инфа по сжатиям. Пробуйте.
Код:
zip
; zip - сжатие / 9 - Степень сжатия (от 1 до 9)
Compression=zip/9

; Внутреннее сжатие (none, fast, normal, max или ultra )
InternalCompressLevel=ultra

; Потоки сжатия (auto, 1 или 2)
CompressionThreads=2

; Непрерывное сжатие
SolidCompression=True

Пример:
Код:
Compression=zip/9
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True

bzip
; bzip - сжатие / 1 - Степень сжатия (от 1 до 9)
Compression=bzip/9

; Внутреннее сжатие (none, fast, normal, max или ultra )
InternalCompressLevel=ultra

; Потоки сжатия (auto, 1 или 2)
CompressionThreads=2

; Непрерывное сжатие
SolidCompression=True

Пример:
Код:
Compression=bzip/9
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True

lzma
; lzma - сжатие / ultra64 - Степень сжатия (fast, normal, max, ultra и ultra64)
Compression=lzma/ultra64

; Внутреннее сжатие (none, fast, normal, max или ultra)
InternalCompressLevel=ultra

; Потоки сжатия (auto, 1 или 2)
CompressionThreads=2

; Непрерывное сжатие
SolidCompression=True

Пример:
Код:
Compression=lzma/ultra64
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True

lzma2
; lzma2 - сжатие / ultra64 - Степень сжатия (fast, normal, max, ultra и ultra64)
Compression=lzma2/ultra64

; Внутреннее сжатие (none, fast, normal, max или ultra)
InternalCompressLevel=ultra

; Потоки сжатия (auto, 1 или 2)
CompressionThreads=2

; Непрерывное сжатие
SolidCompression=True

Пример:
Код:
Compression=lzma2/ultra64
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True

none
; none - без сжатия
Compression=none

; Внутреннее сжатие (none, fast, normal, max или ultra)
InternalCompressLevel=ultra

; Потоки сжатия (auto, 1 или 2)
CompressionThreads=2

; Непрерывное сжатие
SolidCompression=True

Пример:
Код:
Compression=none
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True
 

Хамик

Старожил
Здравствуйте! Как по максимуму можно сжать или очистить инсталлятор? Для примера возьмем файл-пустышка размер которого 600 кб. Как его уменьшить?
 

Loner

Новичок
Здравствуйте! Как по максимуму можно сжать или очистить инсталлятор? Для примера возьмем файл-пустышка размер которого 600 кб. Как его уменьшить?
обычно при компилировании EXE используется сжатие..если файл пустышка..то его сожмёт(если конечно там чему сжиматься)
 

Хамик

Старожил
Loner, файл-пустышка уже говорит о том что там ничего нету и при всем этом он весит 600 КБ. Как для пустышки размер великоват.
 

Krinkels

Он где то тут
Администратор
Дык интерпретатор там, вот и вес большой. Если нужно минимум веса, то гляди в сторону NSIS
 

Loner

Новичок
ёк..я думал..ты файл какой-то левый добавляешь в ресурсы..:D
 

Krinkels

Он где то тут
Администратор
Это смотря что делать, и какие цели стоят
 

YURSHAT

Тех. админ
Администратор
Для примера возьмем файл-пустышка размер которого 600 кб. Как его уменьшить?
Тут нечего не поделаешь. Inno как и Delphi использует VCL (формы, кнопки и т.д.), из-за этого и соответствующий размер. Для Delphi к примеру есть аналог VCL - KOL. Используя KOL получаем меньший размер приложения. Но для Inno это не прокатит, так как VCL вшит в него. Так что можете либо использовать NSIS, либо писать инсталл на Delphi используя к примеру KOL+MCK

ЗЫ. Хотя я не понимаю, чего в наше время считать эти килобайты? Может году эдак в 2002-ом это и было актуально, но сейчас, во времена очень широких интернет-каналов и огромных ЖД, экономить килобайты?
Мне кажется все это экономия на спичках...
 

Хамик

Старожил
Вопрос не по теме: подскажите как записать эту строку в официальной версии inno 5.5.5 unicode без препроцессора?
Код:
#define A = (Defined UNICODE) ? "W" : "A"


function LoadImage( hInst: UINT; ImageName: String; ImageType: UINT; X, Y: Integer; Flags: UINT ): THandle; external 'LoadImage{#A}@user32.dll stdcall';
function SetWindowLong( Wnd: HWnd; Index: Integer; NewLong: Longint ): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function GetWindowLong( hWnd: HWND; nIndex: Integer ): Longint; external 'GetWindowLong{#A}@user32.dll stdcall';
 

Krinkels

Он где то тут
Администратор
ЗЫ. Хотя я не понимаю, чего в наше время считать эти килобайты? Может году эдак в 2002-ом это и было актуально, но сейчас, во времена очень широких интернет-каналов и огромных ЖД, экономить килобайты?
Мне кажется все это экономия на спичках...
Я считаю хорошим тоном, когда установщик весит меньше устанавливаемой программки, а не так: программка 100 кб., установщик 600 кб.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху