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

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

Автор: kpblc
Дата сообщения: 27.08.2007 22:55
> iTASmania_Inc, Victor_Dobrov : Спасибо, попробую разобраться.
Автор: boss911
Дата сообщения: 28.08.2007 01:30
Очень рад тому, что наконец-то обновился innounp, теперь я обновлю компилер.

NightW0lf

Хотел русик скачать, но не качается, а с рапиды уже удален. Может обновишь до текущей версии IS или перезалей этот, плиз?
Автор: NightW0lf
Дата сообщения: 28.08.2007 09:51
boss911

Цитата:
Хотел русик скачать, но не качается, а с рапиды уже удален. Может обновишь до текущей версии IS или перезалей этот, плиз?

ОК сегодня сделаю для текушей версии.
Автор: AlexDJ666
Дата сообщения: 28.08.2007 10:45
Добрый день всем кодерам!
Читаю данный топик, дошел уже до 25-ой страницы, нашел для себя уже уйму решений, но кое-что пока для меня непонятно.

1. Возможно ли сделать такое, чтобы при выборе/наведении мыши на вариант меню (компонент) справа от визарда появлялось окошко с текстом/картинкой, привязанной к этому компоненту?

2. Как изменить местоположение визард-формы?

3. Как убрать вначале вопрос о выборе языка?

4. Пробовал ставить фоновый рисунок на весь экран во время установщика, вначале работал, потом почему-то перестал :\

Код:

Код:
[Files]
Source: isxbb.dll; DestDir: {tmp}; Flags: dontcopy
Source: wow.jpg; DestDir: {tmp}; Flags: dontcopy

[Code]
const
BACKGROUND=6;

function isxbb_AddImage(Image: PChar; Flags: Cardinal): Integer;
external 'isxbb_AddImage@files:isxbb.dll stdcall';

function isxbb_Init(hWnd: Integer): Integer;
external 'isxbb_Init@files:isxbb.dll stdcall';

procedure InitializeWizard();
begin
ExtractTemporaryFile('wow.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\wow.jpg',BACKGROUND);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
end;
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
begin
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
end;
Автор: omals
Дата сообщения: 28.08.2007 11:15
AlexDJ666

>>>3. Как убрать вначале вопрос о выборе языка?
в хелпе
[Setup]: ShowLanguageDialog
Valid values:
yes, no, or auto
Default value:
yes
Description:
When set to yes and there are multiple [Languages] section entries, a Select Language dialog will be displayed to give the user an opportunity to override the language Setup chose by default. See the [Languages] section documentation for more information.
When set to no, the dialog will never be displayed.
When set to auto, the dialog will only be displayed if Setup does not find a language identifier match.

>>>5. Где взять файл get_hw_caps.dll?
http://rapidshare.com/files/51778763/get_hw_caps.rar.html

Добавлено:
>>> 4........
не уверен, но возможно
нужно не в
procedure InitializeWizard();
а в

Код: function InitializeSetup: Boolean;
begin
ExtractTemporaryFile('wow.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\wow.jpg',BACKGROUND);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
Result := True;
end;
Автор: AlexDJ666
Дата сообщения: 28.08.2007 11:24
omals, премного благодарен Что-то пропустил я этот пункт

Добавлено:

Цитата:
function InitializeSetup: Boolean;
begin
ExtractTemporaryFile('wow.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\wow.jpg',BACKGROUND);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
Result := True;
end;

Неа, все равно не хочет
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 12:12
AlexDJ666

Цитата:
2. Как изменить местоположение визард-формы?

procedure InitializeWizard();
begin
WizardForm.Top := 100
WizardForm.Left := 100
end;


Цитата:
Неа, все равно не хочет

Потому что надо прописывать в procedure InitializeWizard();


Цитата:
5. Где взять файл get_hw_caps.dll?

Я так полагаю проверку системы надо организовать? А Corona Skin не подойдёт? Читает все данные (XP\Win2k\Vista) из реестра, никаких DLL не надо.
Автор: AlexDJ666
Дата сообщения: 28.08.2007 12:23

Цитата:
Потому что надо прописывать в procedure InitializeWizard();

Так в Визарде был первый вариант, но он почему-то не работает, пока не могу откопать причину :\


Цитата:
Я так полагаю проверку системы надо организовать? А Corona Skin не подойдёт? Читает все данные (XP\Win2k\Vista) из реестра, никаких DLL не надо.

Корону я посмотрел - понравилось Однако, хочу написать свой скин
Автор: Chanka
Дата сообщения: 28.08.2007 12:26
iTASmania_Inc
Снова нужна помощь
Как в этом коде сделать тоже чтобы если наводишь на ссылку то она становиться другого цвета

[Messages]
BeveledLabel=GSC Game World

procedure BevelLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://www.gsc-game.ru/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;


procedure InitializeWizard();
begin
with WizardForm.BeveledLabel do
begin
Cursor := crHand;
OnClick := @BevelLabelOnClick;
Font.Style := Font.Style;
Font.Color := clBlue;
Enabled:= True;
end;
end;
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 12:27
AlexDJ666

Цитата:
Так в Визарде был первый вариант, но он почему-то не работает, пока не могу откопать причину

Внимательно погляди(те) в этом первом варианте присутствие директив секции [Setup]:

WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
Автор: Forslay
Дата сообщения: 28.08.2007 12:42
Как защитить инсталлятор от копирования?

Тоесть что бы инсталляционыный файл не копировался с диска...!!!! А только читался...

как это замутить?
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 12:42
Chanka
Не хочу тебя расстраивать, но OnMouseMove (наведение мыши) можно применить только к объектам TLabel, в отличие от него, BeveledLabel (TNewStaticText) не понимает такого параметра. Если присмотришься к Corona Skin, то поймёшь, что там тоже TLabel.

Добавлено:
Forslay

Цитата:
Тоесть что бы инсталляционыный файл не копировался с диска...!!!! А только читался...

Это уже в топик про StarForce или SecuRom надо.
Автор: Chanka
Дата сообщения: 28.08.2007 12:46
iTASmania_Inc
Ох жаль конечно. Но что поделаешь. Спасибо что объяснил. А то я уже с этим делом столько намучился
Автор: Victor_Dobrov
Дата сообщения: 28.08.2007 12:51

Цитата:
Corona Skin читает все данные из реестра

Поправка - информация о системе определяется через API, из реестра по необходимости: например на многих форумах программеры рекомендуют брать инфу о процессоре из реестра. Скин работает и на Win9х. Вскоре исправлю определение названия Windows. Может надо что-то ещё добавить?
Автор: AlexDJ666
Дата сообщения: 28.08.2007 12:55
Chanka,


Цитата:
Снова нужна помощь
Как в этом коде сделать тоже чтобы если наводишь на ссылку то она становиться другого цвета


Так не пойдет?

Код:
[Messages]
BeveledLabel=GSC Game World

[Code]
var
MouseLabel,SiteLabel: TLabel;

procedure SiteLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://_адрес_ссылки_', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clRed
end;

procedure SiteLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clBlue
end;

procedure SiteLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clGreen
end;

procedure SiteLabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clBlue
end;

procedure InitializeWizard();
begin
MouseLabel:=TLabel.Create(WizardForm)
MouseLabel.Width:=WizardForm.Width
MouseLabel.Height:=WizardForm.Height
MouseLabel.Autosize:=False
MouseLabel.Transparent:=True
MouseLabel.OnMouseMove:=@SiteLabelMouseMove2
MouseLabel.Parent:=WizardForm

SiteLabel:=TLabel.Create(WizardForm)
SiteLabel.Left:=10
SiteLabel.Top:=330
SiteLabel.Cursor:=crHand
SiteLabel.Font.Color:=clBlue
SiteLabel.Caption:='GSC Game World'
SiteLabel.OnClick:=@SiteLabelOnClick
SiteLabel.OnMouseDown:=@SiteLabelMouseDown
SiteLabel.OnMouseUp:=@SiteLabelMouseUp
SiteLabel.OnMouseMove:=@SiteLabelMouseMove
SiteLabel.Parent:=WizardForm
end;
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 12:58
Victor_Dobrov

Цитата:
информация о системе определяется через API

Извиняюсь за дезинформацию!

Цитата:
Может надо что-то ещё добавить?

Да куда ж больше...
P.S.: правда, есть небольшая недоработка на страницах ввода серийного номера и пароля, если ввести пароль и нажать BackSpace, то, очевидно, происходит удаление последнего символа, кнопка Далее перестаёт быть активной, а в поле ввода - никаких изменений!
Автор: Chanka
Дата сообщения: 28.08.2007 13:05
AlexDJ666
Этот код у меня уже используется
Автор: Unc1e
Дата сообщения: 28.08.2007 13:07
Сделал более красивые текстуры кнопок для скрипта воспроизведения Mp3 Ogg, из WMP11. Кому надо забираем тут.
PS: рядом с содержимым архива положите любой mp3 файл, назвав его sound.mp3.
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 13:14
Unc1e
Отлично, а можешь добавить ещё картинку для того, чтобы можно и при наведении мышой любоваться сменой текстуры?
Автор: Unc1e
Дата сообщения: 28.08.2007 13:36
Саму текстуру сделать смогу, а вот код нет. Если сможешь реализовать 3 состояния кнопок, я буду очень благодарен.
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 13:42
Unc1e

Цитата:
Если сможешь реализовать 3 состояния кнопок, я буду очень благодарен.

Постараюсь - к уже имеющейся текстурке сбоку, пожулуйста, добавь ещё три кнопки, а больше мне и не надо. Просто я с графическим редактором выше Paintа на "...ть тебя" .
Автор: Unc1e
Дата сообщения: 28.08.2007 13:58
iTASmania_Inc
Вот, держи http://www.rapidshare.ru/384378. Все так же 32х33. Вот только Stop какой то странный вышел.
Автор: NightW0lf
Дата сообщения: 28.08.2007 14:01
boss911
Как и обещал сделал русификатор (ссылки в шапке).
Автор: Vetal83
Дата сообщения: 28.08.2007 14:27
Chanka

Цитата:
Этот код у меня уже используется

Попробуй такой [more=вариант][Messages]
BeveledLabel=GSC Game World

[Code]
var
MouseLabel2,SiteLabel2: TLabel;

procedure SiteLabelOnClick2(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown2(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clRed
end;

procedure SiteLabelMouseUp2(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clBlue
end;

procedure SiteLabelMouseMove3(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clGreen
end;

procedure SiteLabelMouseMove4(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clBlue
end;

procedure InitializeWizard();
begin
MouseLabel2:=TLabel.Create(WizardForm)
MouseLabel2.Width:=WizardForm.Width
MouseLabel2.Height:=WizardForm.Height
MouseLabel2.Autosize:=False
MouseLabel2.Transparent:=True
MouseLabel2.OnMouseMove:=@SiteLabelMouseMove4
MouseLabel2.Parent:=WizardForm

SiteLabel2:=TLabel.Create(WizardForm)
SiteLabel2.Left:=3
SiteLabel2.Top:=0
SiteLabel2.Cursor:=crHand
SiteLabel2.Font.Color:=clBlue
SiteLabel2.Caption:=WizardForm.BeveledLabel.Caption
SiteLabel2.OnClick:=@SiteLabelOnClick2
SiteLabel2.OnMouseDown:=@SiteLabelMouseDown2
SiteLabel2.OnMouseUp:=@SiteLabelMouseUp2
SiteLabel2.OnMouseMove:=@SiteLabelMouseMove3
SiteLabel2.Parent:=WizardForm.BeveledLabel

WizardForm.BeveledLabel.Enabled:=True
end;[/more]
Автор: Chanka
Дата сообщения: 28.08.2007 14:33
Vetal83
Спасибо! То что нужно!
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 14:35
Unc1e
Вот, попробуй: http://www.rapidshare.ru/384417
Автор: Unc1e
Дата сообщения: 28.08.2007 14:55
iTASmania_Inc
Что то странно... Play/Pause почемуто раз на раз загораются OnClick (самый темный вариант)... У тебя все нормально работает?
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 15:13
Unc1e
Не очень понял, о чём ты. Объясни, пожалуйста.
Автор: Unc1e
Дата сообщения: 28.08.2007 15:28
iTASmania_Inc
Короче если много раз понажимать Play/Pause перестает срабатывать 4 и 5 часть текстуры (самые темные Play и Pause).
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 15:34
Unc1e

Цитата:
Короче если много раз понажимать Play/Pause перестает срабатывать 4 и 5 часть текстуры

Не совсем: если зажать мышу на текстуре, сдвинуть, отпустить, а потом не сдвигая нажать - то заедает. Возможно заедает и в других случаях. Пока не знаю, как устранить.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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