Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]
Johny777
15-04-2012, 02:50
LinkOFF,
Справка (http://sendfile.su/570136 ) ----> "Секция скриптов" ----> "Секция [Files]"
Johny777, Че-то я там не нашел.Там только для файлов написано, а мне для папок нужно
valyok666
15-04-2012, 03:16
LinkOFF, поподробнее объясни что надо тебе
Мне нужно чтоб вместе с файлами добавлялись и папки(секция Files).Например у меня есть папка и в ней находятся папки и файлы, но добавляются только файлы(D:\папка\файлы.*) а папки (D:\папка\папка) не добавляются.Как-то вот так
Johny777
15-04-2012, 03:42
LinkOFF,
Source: Files\*; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
флаги там же почитай обязательно (все, чтобы иметь представление)
Johny777, вот прям только что нашел в секции "Подборка полезных примеров"
R.i.m.s.k.y.
15-04-2012, 07:26
LinkOFF, есть секция [Dirs]
[Dirs]
Name: "{app}\data"
Name: "{app}\bin"
LinkOFF, есть секция [Dirs] »
R.i.m.s.k.y., спасибо. Кнопочка "Полезное сообщение" исчез.
R.i.m.s.k.y.
15-04-2012, 09:08
alert30, а) обнови страницу б) вычисти кеш браузера в) выдерни шнур выдави стекло
Подскажите пожалуйста как решить такую задачу. Мне нужно вот, что:
1) перед установкой убить процесс
2) внести изменения в реестр
3) запустить процесс
Процесс ctfmon.exe через taskkill /T /IM ctfmon.exe не убивается почему то, а строки реестра находящиеся в секции [Registry] получается (Исходя из последовательности прочтения секций во время инсталляции. ) вносятся до того как процесс ctfmon.exe будет убит по средствам секции [Run] (хотя не убивается).
R.i.m.s.k.y.
15-04-2012, 13:27
процесс ctfmon.exe будет убит по средствам секции [Run] »
фурсенка негодуэ одобряэ!!11
предлагаешь здесь присутствующим пасхальные гадания на скрипт? ню-ню
Johny777
15-04-2012, 13:42
ivsatel,
1 способ
function InitializeSetup(): Boolean;
var ErrorCode: Integer;
begin
Exec('taskkill', '/f /im process.exe', '', SW_Hide, ewWaitUntilTerminated, ErrorCode);
Result := True;
end;
тот же способ через RUN
[Run]
Filename: taskkill; Parameters: /f /t /im steam.exe; Flags: runhidden
и
2 способ через библиотеку ISTask.dll
[Setup]
AppName=My Program
AppVerName=My Program ver.1.5
DefaultDirName={pf}\My Program
[Files]
Source: "ISTask.dll"; DestDir: "{app}"
[ Code]
function KillTaskA(ExeFileName: string): Integer;
external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly';
function RunTaskA(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly';
function InitializeUninstall(): Boolean;
begin
If RunTaskA('hl2.exe', false) then
begin
if MsgBox('Программа установки русификатора обнаружила, что программа'#13'для которой установится русификатор запушена в данный момент. '#13#13' Закрыть программу?'#13#13 +
'"Да" - закроет и не сохранит измененные настройки в программе.' #13#13 +
'"Нет" - продолжит установку без закрытия. (Настоятельно рекомендуется нажать Да)', mbError, mb_YesNo) = idYes then
begin
KillTaskA('hl2.exe');
Result := True;
end else
Exit;
end;
Result := True;
begin
If RunTaskA('hl2.exe', false) then
begin
KillTaskA('hl2.exe');
Result := True;
end else
Exit;
end;
end;
R.i.m.s.k.y.
15-04-2012, 13:48
Johny777, 1 способ не работает, выше же написано
2 способ вызывает WMI если мне склероз не изменяет, и на сборочных виндах или допиленных ускорителями WMI крашится
Поэтому и нужен скрипт чтобы увидеть конкретно чего не идет
Johny777
15-04-2012, 13:51
R.i.m.s.k.y.,
Странно. Его и использую через RUN. Способ рабочий. Ну ладно.
R.i.m.s.k.y.
15-04-2012, 13:53
Johny777, не удивлюсь если ctfmon.ехе написан через русскую Е или О
Johny777
15-04-2012, 14:00
R.i.m.s.k.y.,
после завершения процесса Steam.exe в трее висит иконка, хотя процесс уже завершён. Это фигня конечно, но кого-то может смутить
R.i.m.s.k.y.
15-04-2012, 14:02
Johny777, это баг венды еще с вин95 :)
курсор наведи и она исчезнет
Johny777, Спасибо. Через функцию получилось.
Еще вопрос. Как связать функцию (в коде) и секцию Tasks ? То есть, что-бы функция отрабатывала только если выбрано определенное задание из Tasks.
R.i.m.s.k.y.
16-04-2012, 20:06
ivsatel,
[Tasks]
Name: avs; Description: AviSynth 2.5.8 MT; GroupDescription: Дополнительные компоненты
[*Code]
....
if (IsTaskSelected('avs')) then ...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC