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

habib2302
14-01-2015, 17:51
kotyarko@fb, ага

ROMKA-1977
15-01-2015, 10:03
Nordek, saurn, Dodakaedr, спасибо за советы, с расширенной версией Inno всё получается. Но всётаки поюзав код нашел вариант для стандартной Ansi:

[Setup]
SourceDir=.
OutputDir=Setup
AppName=Test
AppVerName=Test
InfoBeforeFile=Readme.rtf
DefaultDirName={pf}\Test
DefaultGroupName=Test
OutputBaseFilename=Setup
AllowNoIcons=true
ShowTasksTreeLines=true

[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl

[Files]
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;
Source: "ReadMe.rtf"; DestDir: "{tmp}"; Flags: ignoreversion

[code]
var
InfoBeforePage_pnl: TPanel;
Readme: AnsiString;

procedure InitializeWizard();
begin
InfoBeforePage_pnl:= TPanel.Create(WizardForm);
with InfoBeforePage_pnl do
begin
Top := ScaleY(60);
Width:= ScaleX(497);
Height := ScaleY(253);
BevelOuter := bvNone;
Parent:= WizardForm;
end;
ExtractTemporaryFile('ReadMe.rtf');
LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMe.rtf', Readme);
with WizardForm.InfoBeforeMemo do
begin
Top := ScaleY(39);
Height := ScaleY(174);
Left := ScaleX(40);
Parent:= InfoBeforePage_pnl;
RTFText:=Readme
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
InfoBeforePage_pnl.Hide;
case CurPageID of
wpInfoBefore: InfoBeforePage_pnl.Show;
end;
end;

StongCool
15-01-2015, 13:05
Какие есть скрипты на установку Дополнительного ПО(Желательно с отметкой галочкой)

ROMKA-1977
15-01-2015, 13:48
StongCool,

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

Name: Soft; Description: Установка дополнительного программного обеспечения; GroupDescription: Дополнительное программное обеспечение:; Flags: unchecked
Name: Soft/DirectX; Description: Microsoft DirectX; Flags: unchecked
Name: Soft/vcredist_x86; Description: Microsoft Visual С++ 2008 Redistributable; Flags: unchecked
Name: Soft/vcredist_x64; Description: Microsoft Visual С++ 2008 Redistributable x64; Flags: unchecked; Check: IsWin64

Shift85
15-01-2015, 14:00
Какие есть скрипты на установку Дополнительного ПО(Желательно с отметкой галочкой) »

StongCool
15-01-2015, 14:46
ROMKA-1977, Очень хорошо.

А вот например, если мне необходимо тихую установку сделать для этого .reg файла. Что нужно?

Name: Soft; Description: Установка дополнительного программного обеспечения; GroupDescription: Дополнительное программное обеспечение:; Flags: unchecked
Name: Soft/Reg; Description: Reg файл; Flags: unchecked

Shift85
15-01-2015, 15:09
А вот например, если мне необходимо тихую установку сделать для этого .reg файла. Что нужно? »
StongCool, Читай справку.

http://rghost.ru/users/Arsen19/releases/Russkaya-spravka-k-Inno-Setup

StongCool
15-01-2015, 15:36
Не знаю почему, но справка у меня некорректно работает. Есть еще варианты?

Dodakaedr
15-01-2015, 15:39
StongCool, ПКМ по файлу справки, выбрать свойства и внизу нажмите разблокировать

habib2302
15-01-2015, 17:35
Доброе время суток. Я хочу вернуться к этому вопросу http://forum.oszone.net/post-2369688-1001.html (if not WizardSilent then)
Если добавить if not WizardSilent then, то при тихом использовании (/VERYSILENT) без команды DIR прога будет распаковываться по пути из DefaultDirName. Как исправить
И хочу вернуться к этому вопросу http://forum.oszone.net/post-2456024-2299.html

Shift85
15-01-2015, 17:55
habib2302, По поводу этого вопроса.
http://forum.oszone.net/post-2456024-2299.html

Все элементарно.
Открывай редактор форм и двигай куда надо. :)

http://i067.radikal.ru/1501/c3/711f1c066a74t.jpg (http://radikal.ru/fp/f37234e63a4f46f4a31552275679d455)

habib2302
15-01-2015, 18:07
Shift85, и что? :) от этого серый фон не исчезнит

Shkutu
16-01-2015, 17:07
Если добавить if not WizardSilent then, то при тихом использовании (/VERYSILENT) без команды DIR прога будет распаковываться по пути из DefaultDirName »
очевидно потому, что у вас в этом случае никак не задается директория установки
Как исправить »
очевидно, задать директорию :)

if not WizardSilent then
begin

end
else
WizardForm.DirEdit.Text := ExpandConstant('{pf}\{#MyAppName}'); // директория, которая нужна при тихой установке

Если с тем кодом, что вы приводите, то (все переписывать лень, поэтому только кусок, касающийся страницы SelectComponents)
wpSelectComponents: if WizardForm.Tag = 1 then
begin
WizardForm.SelectComponentsPage.Notebook.ActivePage:= WizardForm.SelectDirPage;
WizardForm.DiskSpaceLabel.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption;
WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectDir);
WizardForm.PageDescriptionLabel.Caption:= WizardForm.Hint; // иначе вместо названия программы [name]
if not WizardSilent then
begin
if IsComponentSelected('DDU\I') then
WizardForm.DirEdit.Text :=(ExpandConstant('{#SetupSetting("DefaultDirName")}'))
else
if IsComponentSelected('DDU\P') then
begin
WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppName} Portable'
WizardForm.NextButton.Caption:= SetupMessage(msgButtonInstall);
end;
end
else //тихая установки
WizardForm.DirEdit.Text := ExpandConstant('{pf}\{#MyAppName}'); // директория, которая нужна при тихой установке
end;

ShadeUa
16-01-2015, 19:32
Здраствуйте , на каком языке пишуться если скрипты ?

kotyarko@fb
16-01-2015, 20:29
на каком языке пишуться если скрипты ? »
Object Pascal.

ROMKA-1977
16-01-2015, 21:43
Помогите пож. к данному коду прикрутить автоматическую смену названия кнопки "open"


const
GWL_EXSTYLE = (-20);
WS_EX_COMPOSITED = $2000000;
AW_HIDE = $10000;
AW_VER_POSITIVE = $4;
AW_VER_NEGATIVE = $8;

function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
function AnimateWindow(hwnd: HWND; dwTime, dwFlags: DWORD): BOOL; external 'AnimateWindow@user32.dll stdcall';

var
SettingPanel: TPanel;

procedure NewButton1Click(Sender: TObject);
begin
with SettingPanel do
begin
//временно отрубаем стиль WS_EX_COMPOSITED, а то AnimateWindow плавненько не отработает
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) xor WS_EX_COMPOSITED);
AnimateWindow(Handle, 1000, (AW_VER_POSITIVE * dword(not Visible)) or ((AW_HIDE or AW_VER_NEGATIVE) * dword(Visible)));
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED);
Visible := not Visible;
end;
end;

procedure InitializeWizard();
begin
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED);

SettingPanel := TPanel.Create(WizardForm);
with SettingPanel do
begin
Parent := WizardForm;
SetBounds(ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.OuterNotebook.ClientHeight);
Visible := False;
end;

with TNewButton.Create(WizardForm) do
begin
Parent := WizardForm;
SetBounds(ScaleX(40), ScaleY(327), ScaleX(75), ScaleY(25));
Caption := 'open';
OnClick := @NewButton1Click;
end;
end;

Dodakaedr
16-01-2015, 21:52
автоматическую »
в зависимости от чего? Какая основа автоматизации? Язык?
[Setup]
AppName=Test
AppVerName=Test
DefaultDirName={pf}\Test

[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
Name: en; MessagesFile: compiler:Languages\english.isl

[CustomMessages]
ru.open=Открыть
en.open=Open

[code]
procedure InitializeWizard();
begin
with TNewButton.Create(WizardForm) do
begin
Parent := WizardForm;
SetBounds(ScaleX(40), ScaleY(327), ScaleX(75), ScaleY(25));
Caption := CustomMessage('open');
end;
end;

Shift85
16-01-2015, 21:56
автоматическую смену названия кнопки "open" »

Это че то новенькое даже не слышал. :)

Если только сменить название.

Caption := 'open';

на

Caption := 'Кнопка';

Shift85
16-01-2015, 22:11
Помогите пож. к данному коду прикрутить автоматическую смену названия кнопки "open" »

ROMKA-1977, Пример.

habib2302
16-01-2015, 22:20
Shkutu, это точно не сработает. да и команда dir не работает даже при обычной установке




© OSzone.net 2001-2012