PDA

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


Страниц : 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Denkxx
16-09-2009, 15:42
A1EXXX, спасибо. Нашел решение.

[Icons] Name: "{group}\Видео"; Filename: "{app}\Crystal.exe"; Parameters: "movie.avi"; WorkingDir: "{app}"; Tasks: groupicon

Berline
17-09-2009, 14:36
Serega, не совсем ясно я объяснил... ранее, без добавления ваших измнений. т.е. кнопок - я благополучно выделял галочки руками, у меня менялся сразу необходимый размер на диске, и при повторном запуске этого инсталлятора - он мне отображал уже установленные галочки тех компонентов, что я выбрал.
Такое не изменилось после добавления кнопок, но они не корректны, а именно, повторюсь: при выделениее всех компонент, размер не перессчитывается. хотя действительно, компоненты установились, и при повторной установке поверх - инсталлятор не отображает компоненты, которые я уже установил...

_Monster_
18-09-2009, 20:07
Здравствуйте! 3 вопроса
1) как сделать мини прогресс бар http://pic.ipicture.ru/uploads/090918/aE767v7uzj.png
2) как изменить цвет самого инстолятора (полностью черный например)
3) когда я захожу пуск-> прграммы у меня присутствует только главный файл запуска http://pic.ipicture.ru/uploads/090918/3fUug68pGr.png
а как сделать чтобы можно отсюда же и удалить программу
Жду ваших ответов!спасибо

A1EXXX
19-09-2009, 13:08
Кто знает, как сделать отступ между "Созданием ярлыков" и "Языком игры" ??? http://i019.radikal.ru/0909/92/7129cca117d4t.jpg (http://radikal.ru/F/i019.radikal.ru/0909/92/7129cca117d4.jpg.html)

_Monster_
19-09-2009, 17:07
A1EXXX кстати нашел твой пост где цвет инсталятора можно поменять спасибо.

_Monster_
19-09-2009, 17:43
кто подскажет? как можно изменить эту белую папку http://pic.ipicture.ru/uploads/090919/thumbs/tY653YfTlw.png (http://ipicture.ru/Gallery/Viewfull/23978019.html) на мою серую с черным фоном :)

A1EXXX
19-09-2009, 18:58
_Monster_, два варианта:

1) прикрутить внешнюю bmp картинку
[Files]
Source: C:\papka.bmp; DestDir: {tmp}; Flags: dontcopy

[code]
procedure InitializeWizard();
begin
ExtractTemporaryFile('papka.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=true;
WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=true;
end; например, вот эту... (http://s45.radikal.ru/i110/0909/11/dad99ef1d033.bmp)

2) Либо вот этим кодом:
[Code]
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 InitializeWizard();
var
Rect: TRect;
HIcon: LongInt;
begin
hIcon := ExtractIcon(GetModuleHandle(0), ExpandConstant('{sys}\shell32.dll'), 3);
with WizardForm.SelectDirBitmapImage do
begin
with Bitmap do
begin
Width := ScaleX(32);
Height := ScaleY(32);
Rect.Right := ScaleX(32);
Rect.Bottom := ScaleY(32);
Rect.Left := ScaleX(0);
Rect.Top := ScaleY(0);
Canvas.Brush.Color := clBlack;
Canvas.FillRect(Rect);
DrawIconEx(Canvas.Handle, 0, 0, HIcon, 32, 32, 0, 0, 3);
end;
end;
end;

Serega
19-09-2009, 20:27
как сделать мини прогресс бар »
Рисуете свою форму и в момент инсталляции скрываете форму инсталлятора и активируете свою, после инсталляции прячете свою форму, а форму мастера делаете видимой.
а как сделать чтобы можно отсюда же и удалить программу »
Добавьте в секцию [Icons]:

Name: {group}\Удалить программу; Filename: {uninstallexe}

_Monster_
19-09-2009, 20:58
ну вот опять вопрос :( не могу соеденить черный фон с серой папкой которую дал A1EXXX (ругается на procedure InitializeWizard(); т.к их в секции 2-ое, по отдельности каждый код работает)
[code]
[Files]
Source: C:\papka.bmp; DestDir: {tmp}; Flags: dontcopy

[code]
procedure InitializeWizard();
begin
ExtractTemporaryFile('papka.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=true;
WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=true;
end;

const
Color = clblack;

procedure InitializeWizard();
begin
WizardForm.Font.Color:=clWhite;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
end;

A1EXXX
19-09-2009, 21:33
http://i078.radikal.ru/0909/a4/f877a6add549t.jpg (http://radikal.ru/F/i078.radikal.ru/0909/a4/f877a6add549.jpg.html)

Новый FreeArc v0.52 (http://freearc.org/download/testing/FreeArc-0.52-win32.exe)...


_Monster_, пробуй...
[Files]
Source: C:\papka.bmp; DestDir: {tmp}; Flags: dontcopy

[code]
const
Color = clblack;

procedure InitializeWizard();
begin
ExtractTemporaryFile('papka.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=true;
WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=true;
WizardForm.Font.Color:=clWhite;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
end;

_Monster_
19-09-2009, 22:12
спасибо! помогло http://pic.ipicture.ru/uploads/090919/thumbs/YEmFlF7WH2.png (http://ipicture.ru/Gallery/Viewfull/23990936.html)

Aurochs
20-09-2009, 02:14
Помогите разобраться.

жму 15 гигов в 11.5 кусками по 650 метров и на выходе сетап не запускается - просто окно внизу, не разворачивается.
(см скрины в приложении, на втором скрине 2 процесса - DOW_Setup.exe и DOW_Setup.tmp, на первом - внизу окошко предпросмотра Win 7 и все, не разворачивается)

делаю тот же скрипт на тестовых файлах (50 метров файлов) - все работает. чтото с размером связанное

diskspanning=true
compression=lzma/ultra64
; compression=none
;compression=lzma
ShowUndisplayableLanguages=true
compressionthreads=auto
solidcompression=true
slicesperdisk=1
diskslicesize=1550000000
DisableProgramGroupPage=false
PrivilegesRequired=none
AllowRootDirectory=false

В чем беда? запарился 15 гигов жать уже раз 5.

ps - сейчас без сжатия и с размером 1.4 гига сделал - та же проблема

Aurochs
20-09-2009, 12:03
Решил проблему но как не понял. Убрал solid compression, выставил 3 1.4-гиговых куска на диск (по-правильному а был 1 кусок на диск. И убрал sorce directory=.\ Если честно не знаю что это такое - было у меня в сэмплом скрипте на котором я все остальные писал.

A1EXXX
20-09-2009, 12:09
Aurochs, дело не в степени сжатия и не в том, по сколько у тебя сетапы будут! Всему виной секция [Files]: все файлы, которые ты добавлял отдельно, перенеси на начало секции, а папку с игрой в самый низ! Например,

[Files]
Source: C:\1.bmp; DestDir: {tmp}; Flags: dontcopy
Source: C:\1.mp3; DestDir: {tmp}; Flags: dontcopy
Source: C:\Program Files\Inno Setup 5\InnoCallback.dll; Flags: dontcopy noencryption solidbreak;
Source: C:\2.bmp; DestDir: {tmp}; Flags: dontcopy
Source: "D:\Games\Call Of Duty 4\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

A1EXXX
20-09-2009, 12:32
Aurochs, попробуй вернуть всё, что убрал, и сделать как у меня... просто файлы из [Files] распаковываются один за другим, и если папка с игрой вверху где-то, то инталлятор пытается распаковать файлы игры, и только потом всё отсальное...

Oleg48
20-09-2009, 14:09
Подскажите пожалуйста, а можно ли слепить на IS инсталлятор с полностью тихой установкой, на NSIS это не проблема.

S.E.K.T.O.R.
20-09-2009, 23:28
Народ, если кто знает подскажите!!!

Как отключить сообщение "Недостаточно места на диске"

S.E.K.T.O.R.
21-09-2009, 00:08
Подскажите пожалуйста, а можно ли слепить на IS инсталлятор с полностью тихой установкой, на NSIS это не проблема. »

Можно
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DisableDirPage=yes
DisableProgramGroupPage=yes
DisableReadyPage=yes
DisableFinishedPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Files]
Source: "C:\My Program\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
begin
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
end;
end;

Oleg48
21-09-2009, 01:21
S.E.K.T.O.R. Спасибо, попробую :)

Serega
21-09-2009, 19:23
а можно ли слепить на IS инсталлятор с полностью тихой установкой »
Все инсталляторы Inno Setup по умолчанию поддерживают установку в тихом режиме.
Для запуска инсталлятора в тихом режиме, запустите его с ключом /verysilent. Более подробно, можете прочитать в Справке по Inno Setup - "Параметры командной строки инсталлятора".

Как отключить сообщение "Недостаточно места на диске" »
Мне кажется - никак.




© OSzone.net 2001-2012