Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: GRom V
Дата сообщения: 23.10.2007 03:08
Задавал давненько вопрос, но приемлимого варианта не нашел: нужно сделать установку по выбору. А именно - есть две папки большого размера с большим колличеством маленьких файлов (папка1 -2гига) и (папка2 -2.5 гига)......проблема заключается в следующем - если при инсталляции выбирается папка1 (и она стоит первой в инсталляторе) - то проблем нет. НО если выбирается папка2 - (она стоит второй), то инсталлятор не сразу переходит к установке второй папки - он пролистывает сначало первую. А т.к. размер файлов маленький, то это занимает большое кол-во времяни!!! тоесть как бы виснет. Не нашлось ли какого нить решения этой проблемы???
Автор: Victor_Dobrov
Дата сообщения: 23.10.2007 03:55
GRom V
В секции Setup нужно добавить параметр:
[Setup]
SolidCompression=no

Этот ключ запрещает сжимать файлы в один поток, размер инсталлятора немного увеличится, но извлечение файлов в середине/конце архива будет идти без задержек.
Аналогичный флажок есть в архиваторе 7-zip, называется Создать Solid архив.
Автор: GRom V
Дата сообщения: 23.10.2007 04:57
Victor_Dobrov

Цитата:
В секции Setup нужно добавить параметр:
[Setup]
SolidCompression=no

Этот ключ запрещает сжимать файлы в один поток, размер инсталлятора немного увеличится, но извлечение файлов в середине/конце архива будет идти без задержек.
Аналогичный флажок есть в архиваторе 7-zip, называется Создать Solid архив.


Пробовал и так но это не решает проблемы. Извлечение файлов - без задержек, но Т.К. файлов много и они маленькие все это занимает приличное время до того как он находит то что выбрали. Тоесть пролистывает всю первую папку, только потом переходит к нужной!
Автор: Ipse San
Дата сообщения: 23.10.2007 04:59
GRom V
Непрерывное сжатие можно не отключать в последних версиях инсталлятора.
Если файлы перечислены по порядку (т.е. сначала файлы первой папки, потом файлы второй папки), то к первому файлу второй папки нужно применить флаг solidbreak.
Автор: GRom V
Дата сообщения: 23.10.2007 05:10
Ipse San
Спасибо....попробую.
Автор: Wilmots
Дата сообщения: 23.10.2007 09:55
Inno Setup 5.2.2

Цитата:
5.2.2 (2007-10-22)

* The Setup loader now extracts the Setup program executable file with a ".tmp" extension. Versions 5.2.0 and 5.2.1 used a ".exe.tmp" extension, which reportedly, in some cases, caused an "Unable to execute file in temporary directory" error message on systems with a certain antivirus program installed. We were unable to reproduce the error in our own tests, however; it is suspected that this may have only impacted users with custom filename blocking rules defined in their antivirus configuration.
* Pascal Scripting: Added new GetSaveFileName support function.
* Fix: The compiler could fail with an "Out of memory" error on script files containing more than ~100,000 lines, due to a heap fragmentation issue.
Автор: chum2000
Дата сообщения: 23.10.2007 10:40
Подскажитие пожалуйста, как препроцессору указать, что используется несколько определённых параметров.

что-то типа


Код:
#define p1
#define p2

#ifdef p1 or/and p2

#endif

Автор: Diawer
Дата сообщения: 23.10.2007 14:00
Подскажите почему папка Reality не удаляеться, хотя она пустая?
Очень выручите если сделаете замену этому секцией [Code].

[Registry]
Root: HKLM; Subkey: "SOFTWARE\Reality\Earth"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Reality"; Flags: uninsdeletekeyifempty
Автор: Victor_Dobrov
Дата сообщения: 23.10.2007 14:10

Цитата:
SolidCompression=no... не решает проблемы. Извлечение файлов - без задержек, но Т.К. файлов много это занимает приличное время до того как он находит то что выбрали

GRom V, так попробуй...

[Setup]
AppName=SolidBreak
AppVerName=SolidBreak
DefaultDirName={pf}\SolidBreak

[Files]
Source: Folder1\*; DestDir: {app}\Folder1; Components: Folder1; Flags: recursesubdirs
Source: Folder2\*; DestDir: {app}\Folder2; Components: Folder2; Flags: recursesubdirs solidbreak

[Components]
Name: Folder1; Description: Folder1
Name: Folder2; Description: Folder2
Автор: Ipse San
Дата сообщения: 23.10.2007 17:55
Victor_Dobrov
А вот это:
Source: Folder2\*; DestDir: {app}\Folder2; Components: Folder2; Flags: recursesubdirs solidbreak
не вызывает бряк непрерывного сжатия на _каждом_ файле в Folder2?
может все-таки лучше
Source: Folder2\file1.ext; DestDir: {app}\Folder2; Components: Folder2; Flags: solidbreak
Source: Folder2\*; DestDir: {app}\Folder2; Components: Folder2; Flags: recursesubdirs
?
Автор: Victor_Dobrov
Дата сообщения: 23.10.2007 18:39
Ipse San, тогда файл file1.ext будет сжат дважды. Наверное лучше добавлять каждый файл отдельной строкой, без \*
Автор: Ipse San
Дата сообщения: 23.10.2007 19:17
Victor_Dobrov
Так и пусть сжимается, места от этого он больше не займет ибо инно совместит одинаковые файлы, а то что распакуется два раза, так согласно ТЗ все Файлы мелкие, это ерунда.
Автор: GRom V
Дата сообщения: 24.10.2007 14:05
Ipse San
Victor_Dobrov

Спасибо........все ништяк!!!
Автор: JKSerGEAnt
Дата сообщения: 24.10.2007 17:06
innounp 0.20 отказывается распаковывать 5.2.2...
Автор: Sero
Дата сообщения: 24.10.2007 20:07
JKSerGEAnt
Надо ждать обновление
Автор: GRom V
Дата сообщения: 25.10.2007 04:01
Еще вопросик...может кто сталкивался: По умолчанию в Windows Vista реестр защищен, и воткнуть туда без изменения параметров (разрешений) в ручную, не просто! Можно ли средствами Инно снять эту проблему?
Автор: avzaytsev
Дата сообщения: 25.10.2007 09:46
Diawer


Цитата:
Подскажите почему папка Reality не удаляеться, хотя она пустая?

[Registry]
Root: HKLM; Subkey: "SOFTWARE\Reality\Earth"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Reality"; Flags: uninsdeletekeyifempty


В процессе деинсталляции ключи реестра удаляются строго в обратной последовательности их добавления при установке программы (при наличии соответствующих флагов). Поэтому в твоём случае должно быть:

[Registry]
Root: HKLM; Subkey: "SOFTWARE\Reality"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SOFTWARE\Reality\Earth"; Flags: uninsdeletekey
Автор: 1uzer1
Дата сообщения: 26.10.2007 12:08
Подскажите как заставить инно сетап засовывать в инсталятор скрытые файлы, он их почему-то игнорирует
Автор: Unc1e
Дата сообщения: 26.10.2007 12:16
1uzer1, в секции [Files] добавь Attribs: hidden
Автор: 1uzer1
Дата сообщения: 26.10.2007 14:51
дело в том что например есть исходна директория, скажем sourceDir
в скрипте я пишу
Source: sourceDir\*.*; DestDir: {app}
в этом случае он не включает файлы со скрытым атрибутом в сетап ;(
Автор: Unc1e
Дата сообщения: 26.10.2007 15:21
1uzer1, ну попробуй так сделать:
Сними атрибут "Скрытый" и перемести файл ,который должен быть скрыт, в отдельную папку (например hidden_files) и в скрипте добавь строку
Source: hidden_files\*.*; DestDir: {app}; Attribs: hidden
Автор: Victor_Dobrov
Дата сообщения: 27.10.2007 02:21
1uzer1
Запусти ISTool, открой секцию 'Файлы и каталоги' и перетащи туда свою папку 'sourceDir'. Этот способ не требует создавать папку 'hidden_files' и сортировать файлы по атрибутам.
Автор: Nekt
Дата сообщения: 27.10.2007 14:33
ISP обновил в шапке. На 5.2.2 .
Автор: Victor_Dobrov
Дата сообщения: 28.10.2007 00:45
Скачал препроцессор по ссылке в шапке: http://files.jrsoftware.org/ispack/ispack-5.2.2.exe
При запуске Compil32.exe пишет версию препроцессора 5.2.1.0
Автор: tyt
Дата сообщения: 28.10.2007 11:54
Снято
Разобрался
Автор: GRom V
Дата сообщения: 29.10.2007 15:51
Victor_Dobrov
Victor_Dobrov
Victor_Dobrov
Автор: Cryzer
Дата сообщения: 29.10.2007 21:10

Код: if (ExpandConstant('{reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.3gp,ProgID}') = 'BSPlayerFile.3gp') then
Автор: Flash667
Дата сообщения: 29.10.2007 22:50
http://victor-dobrov.narod.ru/InnoSetup_CoronaSkin_and_System_Test.7z

ДАЙТЕ ЭТУ ПРОГРАММУ , УМОЛЯЮ , ПРОШу !!! ПОЖАЛУЙСТА , у меня оттуда не качает! Кто может залить куда-то еще? ПОДЕЛИТЕСЬ ОЧЕНЬ НУЖДАЮСЬ В НЕЙ!
Автор: Sampron
Дата сообщения: 29.10.2007 23:43
Flash667
Всё прекрасно качает! У меня в опере конечно показывает в текстовом варианте, после загрузки всего текста нажми файл/сохранить как... и в появившемся окне выбери тип файла "Все файлы" и сохрани и будет тебе счастье.
Автор: Victor_Dobrov
Дата сообщения: 30.10.2007 01:48
Вопрос: Как сделать, чтобы цвет под иконкой был прозрачным?

[Setup]
AppName=Draw Icon
AppVerName=Draw Icon
CreateAppDir=false

[Code]
var Rect: TRect; hIcon: LongInt;

function GetModuleHandle(lpModuleName: LongInt): LongInt; external 'GetModuleHandleA@kernel32.dll stdcall';
function ExtractIcon(hInst: LongInt; lpszExeFileName: PChar; nIconIndex: LongInt): LongInt; external 'ExtractIconA@shell32.dll stdcall';
function DrawIconEx(hdc: LongInt; xLeft, yTop: Integer; hIcon: LongInt; cxWidth, cyWidth: Integer; istepIfAniCur, hbrFlickerFreeDraw, diFlags: LongInt): LongInt; external 'DrawIconEx@user32.dll stdcall';

Procedure CurPageChanged(CurPageID: Integer);
Begin if CurPageID <> wpWelcome then Exit;

hIcon:= ExtractIcon(GetModuleHandle(0), ExpandConstant('{sys}\shell32.dll'), 15);
with TBitmapImage.Create(WizardForm) do begin
    Width:= 48; Height:= 48; //BackColor:= $FF00FF
with Bitmap do begin
    Width:= 32; Height:= 32; Rect.Right:= 32; Rect.Bottom:= 32; Rect.Left:= 0; Rect.Top:= 0;
    Canvas.Brush.Color:= WizardForm.Color;    {цвет по значком}
    Canvas.FillRect(Rect);
    DrawIconEx(Canvas.Handle, 0, 0, hIcon, 32, 32, 0, 0, 3);
    end;
Parent:= PageFromID(wpWelcome).Surface;
end;
End;

Flash667 Скин качается хоть через браузер, хоть качалкой (Download Master)

GRom V --

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Поиск в WinDjView


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.