PDA

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


Страниц : 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

Shkutu
19-03-2014, 11:34
как добавить chekbox на страничку SelectProgramGroupPage c функцией не создать папку »

[Setup]
AllowNoIcons=yes

Dodakaedr
19-03-2014, 14:03
Shkutu, как его переместить вверх?

Dodakaedr
19-03-2014, 15:19
Как сделать чтобы на страничке FinishedPage невозможно было снимать галочку?

Shkutu
19-03-2014, 16:34
как его переместить вверх »
Честно говоря, не очень поняла, куда вверх :) Ну например так

procedure InitializeWizard();
begin
WizardForm.NoIconsCheck.top:=WizardForm.GroupEdit.top + WizardForm.GroupEdit.height + ScaleY(15);
end;


на страничке FinishedPage невозможно было снимать галочку »
Это которая про запуск приложений? Можно так


procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpFinished:
begin
if (WizardForm.RunList.Items.count<>0) then
WizardForm.RunList.ItemEnabled[0]:=false;
end;
end;

Ivan_009
19-03-2014, 18:16
У кого имеется PSD исходник этих кнопок инсталлятора поделитесь пожалуйста...
http://rghost.ru/53181955

Dodakaedr
19-03-2014, 23:55
Как использовать скины? Никак не могу понять.

Ivan_009
20-03-2014, 00:05
Как использовать скины »

Dodakaedr, Вот: http://forum.ru-board.com/topic.cgi?forum=5&topic=35146&start=1299&limit=1&m=8#1

Dodakaedr
20-03-2014, 09:27
Поделитесь у кого есть программой Inno Setup Form Designer

vint56
20-03-2014, 10:57
Dodakaedr установи InnoUltra там есть Расширенная версия от китайских собратьев ResTools либо Form Designer (http://rghost.ru/53197326)

Dodakaedr
20-03-2014, 11:45
Нужна помощь: код для скина

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
[Files]
Source: "ISSkinEx.cjstyles"; DestDir: {tmp}; Flags: dontcopy
Source: "ISSkin.dll"; DestDir: {tmp}; Flags: dontcopy
[Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:ISSkin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:ISSkin.dll stdcall';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('ISSkinEx.cjstyles');
LoadSkin(ExpandConstant('{tmp}\ISSkinEx.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

Вроде все верно, но почему-то выскакивает ошибка
http://savepic.org/5160450.jpg
Файл ISSkin.dll находится в корне программы.

vint56
20-03-2014, 12:31
Dodakaedr пример
http://rghost.ru/53198788

Dinvin4ester
20-03-2014, 19:24
Ребята ,а мне не поможете ?

Stealthmax
20-03-2014, 20:39
Люди добрые, подскажите, почему не обрабатывается код, в частности не происходит переименование заголовка формы, а кнопка в том же куске кода переименовывается.
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = TypeInstall.ID then
begin
WizardForm.Caption:=ExpandConstant('{cm:TypeInstall}');
//Изменить описание кнопки Далее для конкретной страницы
WizardForm.NextButton.Caption := ExpandConstant('{cm:Install}');
end;
if CurPageID = AdditionallyPage.ID then
begin
WizardForm.Caption:=ExpandConstant('{cm:Labels}');
end;
end;

И ещё такой вопрос: как запустить установку после выбора CheckBox и RadioButton в списке, если стандартные диалоговые окна отключены, т.е. полностью все окна кастомные, часть компонентов из них перенесены на новые окна. Хотя бы пример какой-то дайте, если не затруднит. Не могу понять как "прикрутить" запуск установки исходя из вышеизложенного.

saurn
20-03-2014, 21:44
почему не обрабатывается код, в частности не происходит переименование заголовка формы »
Работает.
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DisableWelcomePage=yes
OutputDir={#SourcePath}


[Code]
const
PAGES_COUNT = 3;

var
pageArray: array of TWizardPage;


procedure CreateCustomPages(const AfterID, Count: Integer; out ResultArray: array of TWizardPage);
var
i, Len: Integer;
begin
Len := GetArrayLength(ResultArray);
SetArrayLength(ResultArray, Len + Count);

for i := Len + Count - 1 downto Len do
ResultArray[i] := CreateCustomPage(AfterID, #0, #0);
end;


procedure ModifyCustomPages();
var
Len: Integer;
begin
Len := GetArrayLength(pageArray);

with pageArray[0] do
begin
Caption := 'Первая страница';
Description := 'Description';
end;

with pageArray[1] do
begin
Caption := 'Вторая страница';
Description := 'Description';
end;

with pageArray[Len - 1] do
begin
Caption := 'Третья страница';
Description := 'Description';
end;
end;


procedure CurPageChanged(CurPageID: Integer);
var
Len: Integer;
begin
Len := GetArrayLength(pageArray);

WizardForm.Caption := SetupMessage(msgSetupWindowTitle);

case PageFromID(CurPageID) of
pageArray[0]: WizardForm.Caption := 'Первая страница';
pageArray[1]: WizardForm.Caption := 'Вторая страница';
pageArray[Len - 1]: WizardForm.Caption := 'Третья страница';
end;
end;


procedure InitializeWizard();
begin
CreateCustomPages(wpWelcome, PAGES_COUNT, pageArray);
ModifyCustomPages();
end;


как запустить установку после выбора CheckBox »
Например:
if CheckBox.Checked then нужное действие

Dodakaedr
20-03-2014, 21:52
vint56, что не так? Таже ошибка выскакивает... Чисто твой скрипт работает.

#define IncludeFiles "InstallFiles"
#define Skin
#ifdef Skin
#define Styles "ISSkinEx.cjstyles"
#endif

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

[Files]
#ifdef Skin
#ifdef UNICODE
Source: {#IncludeFiles}\U\ISSkin.dll; Flags: dontcopy
#else
Source: {#IncludeFiles}\ISSkin.dll; Flags: dontcopy
#endif
Source: {#IncludeFiles}\{#Styles}; Flags: dontcopy
#endif



[Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:ISSkin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:ISSkin.dll stdcall';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('ISSkinEx.cjstyles');
LoadSkin(ExpandConstant('{tmp}\ISSkinEx.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

vint56
20-03-2014, 22:23
Dodakaedr ISSkin.dll нету во временном каталоге
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp

[Files]
Source: "Tiger.cjstyles"; Flags: dontcopy
Source: "ISSkin.dll";Flags: dontcopy

[code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:ISSkin.dll stdcall';
procedure UnloadSkin();
external 'UnloadSkin@files:ISSkin.dll stdcall';

function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\Tiger.cjstyles')) then ExtractTemporaryFile('Tiger.cjstyles');
if not FileExists(ExpandConstant('{tmp}\ISSkin.dll')) then ExtractTemporaryFile('ISSkin.dll');
LoadSkin(ExpandConstant('{tmp}\Tiger.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

Dodakaedr
20-03-2014, 22:46
vint56, не помогает.

Shkutu
21-03-2014, 13:09
Приветствую!
Подскажите плиз, есть ли в инно функция, с помощью которой можно узнать, почему не отработала предыдущая функция типа FileCopy? Ну т е что-то, аналогичное SysErrorMessage(ResultCode), но для функций, которые просто возвращают true/false без всякого ResultCode

Ivan_009
21-03-2014, 14:35
Как на отдельный чекбокс наложить картинку bmp или только на компонент лист можно...
Заранее спасибо...

Gnom_aka_Lexander
21-03-2014, 20:06
Ivan_009, шапку лень почитать?
Создание кастомного чекбокса (http://forum.oszone.net/post-1798150-166.html) - пример скрипта для создания своего чекбокса, всего 12 состояний, (ссылка на сообщение);




© OSzone.net 2001-2012