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

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

Автор: Victor_Dobrov
Дата сообщения: 22.06.2007 01:05

Цитата:
Хочу уменьшить в Corona Skin количество состояний кнопки до двух (нажата -не нажата). Это надо только UpdateButtons исправлять?

Тогда до трёх, так как флаг Enabled проверяется не только в UpdateButtons.
Но зачем? Урезав Buttons.bmp, ты сэкономишь всего 3 ... 5 Кб.

Повторяю вопрос: как нарисовать линию на WizardForm, используя Canvas или Windows API?
Автор: Genri
Дата сообщения: 22.06.2007 11:08
Victor_Dobrov
Цитата:
как нарисовать линию на WizardForm, используя Canvas или Windows API?
--
Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Code]
function LineTo(DC: THandle; X, Y: Integer): Boolean;
external 'LineTo@gdi32.dll stdcall';

function MoveTo(DC: THandle; X, Y: Integer; LPPOINT: THandle): Longint;
external 'MoveToEx@gdi32.dll stdcall';

function GetWindowDC(Wnd: HWnd): Longint;
external 'GetWindowDC@user32.dll stdcall';

function NextButtonClick(CurPageID: Integer): Boolean;
var
hsrc: THandle;
begin
hsrc:= GetWindowDC(WizardForm.Handle);
MoveTo(hsrc, 0, 350, 0);
LineTo(hsrc, 500, 350);
Result:= True;
end;
Автор: sk07x
Дата сообщения: 22.06.2007 12:01
помогите создать вот такой скрипт
1 файлы - программа без exe
2 музыка
3 splash - картинка
4 прозрачность

и Больной вопрос КАК соединить два/три куска кода ?
например выше указанное
Благодарю...
Автор: Sampron
Дата сообщения: 22.06.2007 12:59
Genri
Даже не представляю для чего можно использовать эту линию
Автор: Genri
Дата сообщения: 22.06.2007 13:06
Sampron -- очевидно, Victor_Dobrov представляет

Можно и так :

Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Code]
function LineTo(DC: THandle; X, Y: Integer): Boolean;
external 'LineTo@gdi32.dll stdcall';

function MoveTo(DC: THandle; X, Y: Integer; LPPOINT: THandle): Longint;
external 'MoveToEx@gdi32.dll stdcall';

function GetWindowDC(Wnd: HWnd): Longint;
external 'GetWindowDC@user32.dll stdcall';

function SelectObject(DC, hObject: THandle): THandle;
external 'SelectObject@gdi32.dll stdcall';

function CreatePen(PenStyle, Width: Integer; Color: TColor): THandle;
external 'CreatePen@gdi32.dll stdcall';

function NextButtonClick(CurPageID: Integer): Boolean;
var
hsrc: THandle;
Pen: THandle;
begin
hsrc:= GetWindowDC(WizardForm.Handle);
Pen:= CreatePen(0, 2, clRed);
SelectObject(hsrc, Pen);
MoveTo(hsrc, 0, 350, 0);
LineTo(hsrc, 500, 350);
Result:= True;
end;
Автор: Chanka
Дата сообщения: 22.06.2007 13:14
Народ пожалуйста помогите с моим вопросом на 41-ой странице
Автор: Sampron
Дата сообщения: 22.06.2007 13:17
Genri

Цитата:
а я, например, не представляю, зачем при инсталляции нужна музыка

Чтобы не скучать пока идёт установка.
Интересно с помощью этой линии можно нарисовать такой компонент как TGroupBox с округлёнными углами?
Автор: Genri
Дата сообщения: 22.06.2007 14:50
Sampron
Цитата:
с помощью этой линии можно нарисовать такой компонент как TGroupBox с округлёнными углами?
-- можно. но проще использовать RoundRect :

Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Code]
function LineTo(DC: THandle; X, Y: Integer): Boolean;
external 'LineTo@gdi32.dll stdcall';

function MoveTo(DC: THandle; X, Y: Integer; LPPOINT: THandle): Longint;
external 'MoveToEx@gdi32.dll stdcall';

function GetWindowDC(Wnd: HWnd): Longint;
external 'GetWindowDC@user32.dll stdcall';

function SelectObject(DC, hObject: THandle): THandle;
external 'SelectObject@gdi32.dll stdcall';

function CreatePen(PenStyle, Width: Integer; Color: TColor): THandle;
external 'CreatePen@gdi32.dll stdcall';

function CreateSolidBrush(Color: TColor): THandle;
external 'CreateSolidBrush@gdi32.dll stdcall';

function Rectangle(DC: THandle; X1, Y1, X2, Y2: Integer): Boolean;
external 'Rectangle@gdi32.dll stdcall';

function RoundRect(DC: THandle; X1, Y1, X2, Y2, X3, Y3: Integer): Boolean;
external 'RoundRect@gdi32.dll stdcall';

function NextButtonClick(CurPageID: Integer): Boolean;
var
hsrc: THandle;
Pen, Brush: THandle;
begin
hsrc:= GetWindowDC(WizardForm.Handle);
Pen:= CreatePen(0, 1, clRed);
//Brush:= CreateSolidBrush(clGreen);
SelectObject(hsrc, Pen);
//SelectObject(hsrc, Brush);
MoveTo(hsrc, 0, 350, 0);
LineTo(hsrc, 500, 350);
RoundRect(hsrc, 10, 360, 50, 380, 10, 10);
Result:= True;
end;
Автор: Sampron
Дата сообщения: 22.06.2007 15:35
Genri
А ещё неподскажешь как RoundRect использовать в процедуре InitializeWizard чтоб можно было его повесить на WizardForm или на определённую страницу?
Автор: Genri
Дата сообщения: 22.06.2007 15:52
Sampron
Цитата:
как RoundRect использовать в процедуре InitializeWizard
-- никак. нельзя рисовать на том, чего еще нет Но можно так :

Код:
procedure CurPageChanged(CurPageID: Integer);
var
hsrc: THandle;
Pen, Brush: THandle;
begin
if CurPageID = wpSelectDir then
begin
hsrc:= GetWindowDC(WizardForm.SelectDirPage.Handle);
Pen:= CreatePen(0, 1, clRed);
//Brush:= CreateSolidBrush(clGreen);
SelectObject(hsrc, Pen);
//SelectObject(hsrc, Brush);
MoveTo(hsrc, 0, 150, 0);
LineTo(hsrc, 500, 150);
RoundRect(hsrc, 10, 160, 50, 180, 10, 10);
end;
end;
Автор: Victor_Dobrov
Дата сообщения: 22.06.2007 15:54
Genri, спасибо за примеры, пригодятся для оформления таблиц и вместо стандартных TFormBorderStyle.
А пока - сделал перехват на кнопке правого клика мышью: Corona Skin & System Test
Автор: Sampron
Дата сообщения: 22.06.2007 18:43
Пример скина Vista Lite Skin где изменён стандартный BorderStyle вместе с кнопками, а также есть возможность перемещения формы по экрану при значении BorderStyle:=bsNone, за основу взят Vista Skin.
P.S. Незнаю как заставить форму сворачиватся в панель задач, если кто узнает то поделитесь кодом.

Genri

Цитата:
-- никак. нельзя рисовать на том, чего еще нет Но можно так :

Лучше чем ничего, Спасибо!


Добавлено:
Блин лажа с этими линиями, если свернуть окно а потом развернуть то линии пропадают.
Автор: Sero
Дата сообщения: 22.06.2007 22:43

Цитата:
Пример скина Vista Lite Skin где изменён стандартный BorderStyle вместе с кнопками, а также есть возможность перемещения формы по экрану при значении BorderStyle:=bsNone, за основу взят Vista Skin.

Красиво! добавил бы и кнопки...
Автор: Sampron
Дата сообщения: 23.06.2007 01:54
Sero
На анимацию стандартных кнопок небыло времени, но если надо могу добавить!
Автор: Sero
Дата сообщения: 23.06.2007 02:11
Sampron

Цитата:
но если надо могу добавить!


Отлично! добавь.
Автор: Chuvakstepan
Дата сообщения: 23.06.2007 14:45
Sampron Victor_Dobrov

Очень красиво у вас получается, честно
Автор: FragoMatik
Дата сообщения: 23.06.2007 19:43
Помогите пжалуста! Как в инсталлятор грамотно втыкнуть самораспаковку от 7z, секция run не подходит. Нужно, чтоб инсталлятор скопировал самораспаковку, распаковал, удалил её, токо после этого дораспаковывал остальные файлы. Такое есть в основном на пиратских игрушках. помогите сотворить подобное, очень нужно!
Строчка iss файла выдранная из инсталлятора

Source: "{app}\***.exe"; DestDir: "{app}"; AfterInstall: "Unpack('\***.exe')"; Flags: ignoreversion

Что за команда Unpack - как и где ее прописать, не могу никак разобраться
Заранее спасибо)
Автор: Chuvakstepan
Дата сообщения: 23.06.2007 22:23
FragoMatik
Используй код из руководства по расширенным возможностям. Только непонимаю зачем копировать, распаковываmь, удалять; когда можно распаковать сразу
Надо использовать SFX-архив
Скрипт:

Цитата:
[Components]
Name: "eng"; Description: "Английская версия"; Flags: exclusive
Name: "rus"; Description: "Русская версия"; Flags: exclusive

[Types]
Name: "custom"; Description: "Выборочная установка"; Flags: iscustom

[Files]
Source: "D:\GAME\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Components: rus; Source: "{src}\Rus\GAME_RUS.exe"; DestDir: "{app}"; Flags: ignoreversion external deleteafterinstall

[Run]
Filename: "{app}\GAME_RUS.exe"; WorkingDir: "{app}"; Parameters: "-y"; StatusMsg: "Процесс русификации..."; Flags: waituntilterminated skipifdoesntexist
Автор: Diamond_YDTS
Дата сообщения: 24.06.2007 09:04
Извиняюсь если уже было (читать 150 страниц, как то не очень тянет), хочу изменить стиль страницы компонентов. Чтоб было как в NSIS, т.е. чтоб был + и - в дереве компонентов. И чтобы по умолчанию, всё было свёрнуто. Буду очень признателен за помощь.
Автор: Sero
Дата сообщения: 24.06.2007 12:27
Diamond_YDTS
Смотри сдесь .
Автор: Diamond_YDTS
Дата сообщения: 24.06.2007 13:12
Sero
Не, это не то. Мне нужно чтобы страница компонентов была такая же как в Inno, но чтобы были + и -, чтоб дерево подкомпонентов можно было сворачивать.
Автор: Sero
Дата сообщения: 24.06.2007 13:43
Diamond_YDTS

Цитата:
чтоб дерево подкомпонентов можно было сворачивать.

Насколько я знаю такого в Inno Setup нет!

Можно только без - и +


Код: [Setup]
AppName=Test
AppVerName=Test
DefaultDirName={pf}\My Program

[Components]
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Help Files"; Types: full
Name: "help\english"; Description: "English"; Types: full
Name: "help\dutch"; Description: "Dutch"; Types:full
Автор: Bergelmir
Дата сообщения: 24.06.2007 13:45
Inno Script Generator v1.0.2.9


Цитата:
Version 1.0.2.9 (24. June 2007)
(* LAST User Update version)
· Added: Tool button for call Options form
· Changed: Needed temp files save to
default temp folder.
· Fixed: Display Version number in Caption.
· Fixed: Error on auto update Mess21 not found.
· Other minor fixes.
Автор: Diamond_YDTS
Дата сообщения: 24.06.2007 14:30
Sero
ну, в инно нет многих функций которые здесь вытворяли через паскаль Поэтому и пишу тут.
Автор: Angel_Smerti
Дата сообщения: 24.06.2007 15:06

Цитата:
Скачай последнюю версию скинов, там все баги исправлены:
http://data.cod.ru/1105821130

Скачал и сразу же нашел еще один, а точнее два, бага.
Один выглядит так:
Так выглядит скин:

А надо бы, чтобы он выглядел таким образом:

Второй баг заключается в том, что если, при такой ошибке, нажать на кнопку "Далее >>" то кнопка хоть и не активна, но срабатывает, а должна блокировать загрузку!?
Как это исправить, я не в курсе.
Кстати у скина "Vista" и во всех скинах "Corona Skin" автор Victor_Dobrov тоже есть похожий баг, суть такая: кнопка "Далее >>" блокируется, а рисунок крестика и надпись не видна, если смотреть на примере Corona Skin, все это выглядит примерно так:
Автор: Sampron
Дата сообщения: 24.06.2007 15:21
Angel_Smerti
С страницей wpPreparing я никогда не сталкивался и незнаю как её вызвать, потому и в скин её не включал а кнопка не блокируется из-за анимации кнопок.
Автор: Kirgyz
Дата сообщения: 24.06.2007 15:27
Помогите плиз!

FragoMatik
+1


Цитата:
Помогите пжалуста! Как в инсталлятор грамотно втыкнуть самораспаковку от 7z, секция run не подходит. Нужно, чтоб инсталлятор скопировал самораспаковку, распаковал, удалил её, токо после этого дораспаковывал остальные файлы. Такое есть в основном на пиратских игрушках. помогите сотворить подобное, очень нужно!
Строчка iss файла выдранная из инсталлятора

Source: "{app}\***.exe"; DestDir: "{app}"; AfterInstall: "Unpack('\***.exe')"; Flags: ignoreversion

Что за команда Unpack - как и где ее прописать, не могу никак разобраться
Заранее спасибо)


я это на 42 странице тоже спрашивал. очень нужно разобраться! отзовитесь, люди добрые =)
Автор: Angel_Smerti
Дата сообщения: 24.06.2007 16:14

Цитата:
С страницей wpPreparing я никогда не сталкивался и не знаю как её вызвать, потому и в скин её не включал а кнопка не блокируется из-за анимации кнопок.

Скидываю весь скин с файлом "msvcr71.dll", из-за которого программа установки просит в первый раз перезагрузку, а если не перезагрузишь и запускаешь процесс установки во второй раз то, как раз и выходит этот баг. я на него наткнулся случайно, во время отладки программы установки. Кстати файл "msvcr71.dll" копируется в системную папку.
Автор: Sampron
Дата сообщения: 24.06.2007 16:54
Angel_Smerti
Если AlwaysRestart=true то у меня если не перезагрузить wpPreparing при следующем запуске не появляется.
Автор: NightW0lf
Дата сообщения: 24.06.2007 17:15
Kirgyz

Цитата:
я это на 42 странице тоже спрашивал. очень нужно разобраться! отзовитесь, люди добрые =)


Код:
[Files]
Source: "C:\7-Zip_Archive.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Run]
Filename: "{app}\7-Zip_Archive.exe"; WorkingDir: "{app}"; Parameters: "-y"; StatusMsg: "Распаковка данных..."; Flags: waituntilterminated skipifdoesntexist

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Mail.ru агент - вход не выполнен


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