PDA

Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

Serega
31-08-2008, 17:22
...архивы неуместились на один диск DVD (4.7)...Ни разу не делал, но как записано в руководстве от Kindly:[Setup]
;Разбиение на диски
DiskSpanning=yes
;Размер тома в байтах (здесь 695 мегабайт)
DiskSliceSize=730000000т.е. если высчитать пропорцией на 4,7Гига, то получиться (4936690647), думаю надо округлить DiskSliceSize=4940000000...- запрос будет, что бы вставить другой диск ??? ...да...как сменить картинку в окне инсталятора, и поставить задним планом (на весь размер экрана) любую свою картинку..смена картинки[Setup]
WizardImageFile=путь до большой картинки\1.bmp
WizardSmallImageFile=путь до маленькой картинки\2.bmpвставка фонового изображения
[Setup]
WindowVisible=yes
;и по желанию
WindowResizable=no

[Files]
Source: "C:\My_Image.bmp"; DestDir: "{tmp}"; Flags: dontcopy

[Code]
procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
begin
ExtractTemporaryFile('My_Image.bmp'); //My_Image.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\My_Image.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Align := alClient;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
end;WindowVisible - позади окна мастера будет отображаться фоновое окно;
WindowResizable - при значении no пользователю не придется менять размеры фонового окна инсталлятора когда оно развернуто.

FlatX007
31-08-2008, 22:19
Чем распаковать и запаковать " *.bin - Inno Setup " от игры Сталкер ???

Проги: uni.extractor и Ultra ISO не предлагать !!!!

HUGO75
01-09-2008, 02:12
boss911 у вас получилось решить эту проблему? как добитса того, чтоб инсталятор дожидался остановки батника, флаг waituntilidle непомогает »

boss911
01-09-2008, 03:14
у вас получилось решить эту проблему? »
Flags: waituntilterminated

HUGO75
01-09-2008, 06:11
boss911 спасибо, заработало ).

icestranger
01-09-2008, 21:59
Если вас интересует с каким ключом запустить инсталлятор из командной строки, чтоб он не перезагружал компьютер, то используйте /NORESTART - указывает инсталлятору не перезагружать систему, даже если это необходимо. »
Вот это надо было мне, Спасибо

boss911
01-09-2008, 23:17
Вот это надо было мне »
Все ключи для автоматической установки инсталляторов, сделанных с помощью InnoSetup, я выкладывал в посте #33 (http://forum.oszone.net/post-452192-33.html).

zombie2003
02-09-2008, 16:01
Доброго времени суток.
Подскажите пожалуйста, может ли инсталлятор удалить сам себя?
Вот что я имею ввиду:
Есть инсталляционный пакет, он запускается 1 раз (из реестра, RunOnce) и после того как он отработает, желательно чтобы этого пакета не стало на жестком диске. Сможет ли сам инсталлятор сделать это или придется прибегать к помощи чего-то извне?
спасибо.

boss911
02-09-2008, 20:49
Подскажите пожалуйста, может ли инсталлятор удалить сам себя? »
Попробуйте это:
[Run]
Filename: {cmd}; Parameters: "/Q /C Ping 127.0.0.1 && Del /S /Q ""{srcexe}"""; Flags: postinstall nowait runhidden; Description: Удалить дистрибутив по окончании установки?
Но есть закавыка, дабы удаление не производилось во время запущенного инсталлятора, пришлось вынести на страницу завершения чекбокс с выбором вопроса удаления. Но, можно отключить эту страницу завершения ->
[Setup]
DisableFinishedPage=true

mariolast
03-09-2008, 12:46
Как добавить в скрипте в раздел [Registry] значение типа binary равное (пишу как в экспорте из реестра)

"SlowInfoCache"=hex:28,02,00,00,01,00,00,00,00,40,85,00,00,00,00,00,20,73,4d,\
c7,b7,0c,c9,01,05,00,00,00,43,00,3a,00,5c,00,49,00,6e,00,66,00,6f,00,74,00,\
65,00,63,00,5f,00,4c,00,74,00,64,00,5c,00,1f,04,1a,04,5f,00,11,04,1f,04,5c,\
00,42,00,6c,00,61,00,6e,00,6b,00,69,00,5f,00,50,00,53,00,2e,00,65,00,78,00,\
65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00

А то в скрипте оно не влазит, что то не нашел как разделить его.

zombie2003
03-09-2008, 14:46
к сожалению отключить страницу завершения не могу(в смысле нужно чтобы она была).
я пишу в секции [ Code ] следующую строчку:
Exec(ExpandConstant('{cmd}'), '/Q /C Ping 127.0.0.1 && Del /S /Q ""{srcexe}"" && Pause', '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
вот только в паскале я не силен(совсем не силен) и не могу сделать так чтобы cmd получил правильный путь и имя файла инсталятора.
я пытался туда прикрутить как-то ExpandConstant, но ничего у меня не вышло...

zombie2003
03-09-2008, 15:20
по предыдущему своему посту хочу сказать, что путь мне передать удалось(слепил как смог).
в переменной соединил все параметры в кучу, а потом в Exec передал эту переменную.
но чего я не учел, так это того что в этот момент файл инсталятора еще занят и не может быть уделан... :(

HUGO75
03-09-2008, 16:39
Подскажите пожалйста. Есть компонент Oracle в инсталяторе. Сам дистрибутив оракла находиться на сервере. Инсталятор должен запускать [Run]
Filename: \\server\Oracle\Disk1\setup.exe; Parameters: -responseFile {tmp}\clientruntime_c.rsp -nowelcome; Components: mal\ora; Tasks: c; Flags: waituntilterminated runhidden, но при таком раскладе как только запускается Оракл, то сразу завершаеться работа инсталятора. В дальнейшем будет добавлен параметр -silent. Как можно добиться чтоб инсталятор завершал работу после установки Оракла?

boss911
03-09-2008, 17:32
но чего я не учел, так это того что в этот момент файл инсталятора еще занят и не может быть уделан... »
О чем я и говорил:
дабы удаление не производилось во время запущенного инсталлятора, пришлось вынести на страницу завершения чекбокс с выбором вопроса удаления. »
Иначе вопрос можно было бы и не выносить на страницу завершения, то есть, убрать флаг postinstall.

С Паскалем я не дружу, но точно знаю, что вам нужно создать процедуру, которая бы выполнялась во время закрытия инсталлятора. Вот почему я использовал флаг postinstall.

[hr]
но при таком раскладе как только запускается Оракл, то сразу завершаеться работа инсталятора. »
По сути, инсталлятор должен был дождаться остановки процесса setup.exe (флаг waituntilterminated). В момент установки Оракла процесс setup.exe запущен, есть в процессах?

HUGO75
03-09-2008, 17:45
В момент установки Оракла процесс setup.exe запущен, есть в процессах? »
да, setup.exe есть в процессах, а инсталятор стоит с кнопкой "завершить". Хотя окно установки Оракла еще не появилось, и если нажать кнопку "завершить", то сразу удаляеться файл {tmp}\clientruntime_c.rsp и начинаеться обычная установка Оракла. Насколько я понимаю...инсталятор просто вызвал \\server\Oracle\Disk1\setup.exe и посчитал, что на этом работа закончена ;).

boss911
03-09-2008, 18:19
инсталятор просто вызвал \\server\Oracle\Disk1\setup.exe и посчитал, что на этом работа закончена »
Не знаю, у меня все работает, к примеру:
[Run]
Filename: {app}\run.exe; Flags: waituntilterminated
Инсталлятор запускает приложение, ждет его остановки, после остановки переходит на страницу завершения (кнопка "завершить").

HUGO75
03-09-2008, 20:38
[Run]
Filename: {app}\run.exe; Flags: waituntilterminated »
это конечно будет работать потому, что run.exe находить внутри инсталятора. В моем случае командой вызываеться внешний интсалятор setup.exe. Наверно с этим и связано, что инсталятор не дожидаеться его завершения.

boss911
03-09-2008, 23:04
это конечно будет работать потому, что run.exe находить внутри инсталятора. »
Ну, это вы конечно и придумали. :)
[Run]
Filename: {sys}\calc.exe; Flags: waituntilterminated
Аналогично - все работает (дожидается остановки).

Решил проверить, запустил сторонний инсталлятор на шаре -
[Run]
Filename: \\Comp\PROGram\Setup.exe; Flags: waituntilterminated
Также все срабатывает, как и в первом варианте. Вы кстати это тоже можете проверить, только, запускайте установщик другого дистрибутива, ради эксперимента. Видимо тут проблема в установщике Оракла.

HUGO75
03-09-2008, 23:46
Ну, это вы конечно и придумали. »
ну я имел ввиду "локально". а вот на счет стороннего инсталлятора из шары я не подумал что то :). Завтра буду на работе, опять попробую. Спасибо за подсказку.

HUGO75
04-09-2008, 19:46
Попробывал, действительно установщик дожидаеться установки других приложений запущенных из шар, даже без Flags: waituntilterminated А вот установки оракла дожидаться ни как не хочет :(.




© OSzone.net 2001-2012