PDA

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


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

BMODS
29-11-2015, 11:53
kotyarko@fb, а как со снятыми галочками выставить

kotyarko@fb
29-11-2015, 12:14
а как со снятыми галочками выставить »
Не понял вопроса.

ZVSRus
29-11-2015, 13:34
Всем Доброго времени суток.
Есть скрипт где на странице Welcome присутствует кнопка "Назад" при нажатии ничего не происходит.
Можно ли как-то реализовать эту кнопку, чтобы она возвращала назад на диалоговое окно выбора языка.
Скрипт
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Code*]
Procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpWelcome:
begin
WizardForm.BackButton.Show;
WizardForm.BackButton.Enabled:= True; //False;
end
else
WizardForm.BackButton.Enabled := True;
end;
end;

sergey3695
29-11-2015, 16:33
чтобы она возвращала назад на диалоговое окно выбора языка.
Скрипт »
если только перезапуск установщика только, тогда будет диалоговое окошко.

ZVSRus
29-11-2015, 16:59
если только перезапуск установщика
То что перезапуск установщика, это понятно. Кто делал данный скрипт т.е. вернул кнопку
на стр. Приветствия наверное что-то имел ввиду. А так для чего это все.

BMODS
29-11-2015, 18:01
kotyarko@fb, Все норм спасибо большое

Bartron
29-11-2015, 18:07
Всем привет. Нашёл функции для определения типа дисков function REMOVABLE(Drive: String): Boolean;
begin
Result:= GetDriveType(Drive) = 2;
end;

function REMOTE(Drive: String): Boolean;
begin
Result:= GetDriveType(Drive) = 4;
end;

function CDROM(Drive: String): Boolean;
begin
Result:= GetDriveType(Drive) = 5;
end; Можно ли их как-нибудь объединить в общуу функцию?

El Sanchez
30-11-2015, 10:08
и можно как то пропустить этот момент
т.к инсталлятор ругается на отсутствие файлов»
habib2302, нет, он ругается на то, что при деинсталляции файлы помечены для удаления после перезагрузки. Скрин демонстрирует, что перезагрузки не было. Just do it.
Можно ли как-то реализовать эту кнопку, чтобы она возвращала назад на диалоговое окно выбора языка. »
ZVSRus, нет.
Кто делал данный скрипт т.е. вернул кнопку
на стр. Приветствия наверное что-то имел ввиду. »
ZVSRus, тот, кто вернул кнопку, головой не думает.

ZVSRus
30-11-2015, 13:37
тот, кто вернул кнопку, головой не думает
Спасибо за подсказку. Встречал скрипт с кнопкой Назад на финишной странице.
Наверное из того же репертуара.

habib2302
30-11-2015, 13:50
нет, он ругается на то, что при деинсталляции файлы помечены для удаления после перезагрузки. Скрин демонстрирует, что перезагрузки не было. Just do it. »
не могу въехать. но, перезагрузка ничего не дает. т.е по прежнему вылезает эта страница после повторного запуска инсталлятора. и как это понять помечены для удаления после перезагрузки.

kotyarko@fb
30-11-2015, 19:07
Встречал скрипт с кнопкой Назад на финишной странице.
Наверное из того же репертуара »
Не факт. Ведь есть InfoAfterFile или какая-либо кастомная страница, перед финишной.

ZVSRus
30-11-2015, 21:05
Не факт. Ведь есть InfoAfterFile
Я имел ввиду InstallingPage или более ранние стандартные страницы

habib2302
01-12-2015, 08:51
Как сделать проверку наличие папок с любым названием и чтобы инсталлятор копировал из {src} в {app}?

kotyarko@fb
01-12-2015, 09:54
Как сделать проверку наличие папок с любым названием и чтобы инсталлятор копировал из {src} в {app}? »
Если я правильно вас понял:
Procedure CurStepChanged(CurStep: TSetupStep);
var
TFR: TFindRec;
begin
if CurStep = ssInstall then
if FindFirst(ExpandConstant('{src}\') + '*', TFR) then
try
repeat
if (TFR.Name <> '.') and (TFR.Name <> '..') then
if TFR.Attributes and FILE_ATTRIBUTE_DIRECTORY > 0 then
MsgBox(ExpandConstant('{src}\') + TFR.Name, mbInformation, MB_OK);
until not FindNext(TFR);
finally
FindClose(TFR);
end;
end;
Вместо MsgBox`а пропишите копирование папки, например, с помощью SHFileOperation.

habib2302
01-12-2015, 12:01
kotyarko@fb, и как на файлы
а что нибудь попроще допустим через DirExists

kotyarko@fb
01-12-2015, 16:04
а что нибудь попроще допустим через DirExists » Если проще, то можете попробовать из того же SHFile применить функцию CopyDir и указать что-то типа: '{src}\*'. Т.к. там есть то же условие (if SR.Attributes = FILE_ATTRIBUTE_DIRECTORY), то может получится.

El Sanchez
01-12-2015, 17:25
Как сделать проверку наличие папок с любым названием и чтобы инсталлятор копировал из {src} в {app}? »
habib2302, пример:
[Run]
Filename: {cmd}; Parameters: "/c for /D %? in (*) do xcopy ""%?"" ""{app}\%?"" /ECIHRZY"; WorkingDir: {src}; Flags: runhidden

kotovb
03-12-2015, 14:34
При компиляции выводится ошибка из-за апострофа в названии (Alan Wake's American Nightmare). Как можно скомпилировать скрипт не убирая его?

function ApplicationName(Default:String):String;
begin
#define ApplicationName ReadIni(SourcePath + "\Temp\Setup.ini", "Application", "Name", "")
Result:='{Alan Wake's American Nightmare}';
end;

_______________________________________________________________________________

Всё, разобрался. Нужно было два апострофа делать и тогда всё нормально.

ZVSRus
03-12-2015, 20:03
Знающие люди подскажите, как под стандартные "DirEdit и DirBrowseButton" сделать подложку "TNewGroupBox"

Dodakaedr
03-12-2015, 20:43
ZVSRus, В свойствах DirEdit и DirBrowseButton задайте parent TNewGroupBox




© OSzone.net 2001-2012