Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
Dodakaedr
07-05-2015, 20:55
Нет.
К примеру в пути game/mods/01/ есть файл file.cti. При установке в папку mods/01/ установщик дописывал бы в файл file.cti пару строчек которые указываешь в скрипте. »
А что по вашему значить "дописывал бы в файл file.cti пару строчек"? Какие строчки?
Николай_Николаич@vk
07-05-2015, 21:21
А что по вашему значить "дописывал бы в файл file.cti пару строчек"? Какие строчки? »
в нем строчки к примеру такие.
[item]
1
farbschema_tex1
main1.bmp
Нужно чтобы во время установки дописывалось в конец данного документа (file.cti) :
[item]
2
farbschema_tex1
main2.bmp
и получалось
[item]
1
farbschema_tex1
main1.bmp
[item]
2
farbschema_tex1
main2.bmp
Dodakaedr
07-05-2015, 21:40
в нем строчки к примеру такие. »
А вот какой файл... ну тогда так:[setup]
appname=app
appvername=app 1.0
DefaultDirName={pf}\app
[Code]
procedure Changestring;
var
s: string;
begin
s := +#13#10+ '[item]' +#13#10+ '2' +#13#10+ 'farbschema_tex1' +#13#10+ 'main2.bmp';
if FileExists(ExpandConstant('{app}\file.cti')) then
SaveStringToFile(ExpandConstant('{app}\file.cti'), s, True);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then Changestring;
end;
Николай_Николаич@vk
07-05-2015, 21:57
А вот какой файл... ну тогда так:
Код:
[setup]
appname=app
appvername=app 1.0
DefaultDirName={pf}\app
[Code]
procedure Changestring;
var
s: string;
begin
s := +#13#10+ '[item]' +#13#10+ '2' +#13#10+ 'farbschema_tex1' +#13#10+ 'main2.bmp';
if FileExists(ExpandConstant('{app}\file.cti')) then
SaveStringToFile(ExpandConstant('{app}\file.cti'), s, True);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then Changestring;
end; »
Спасибо огромное, помогло.
AlexM22204
08-05-2015, 10:37
Всем здравствуйте и с наступающим праздником ПОБЕДЫ!!! :up:
Сделал для себя перепаковку программы USB Safely Remove, всё получилось хорошо, но остались два вопроса ("косметического плана - уборка за собой") :cool: :
1) При запуске программа создаёт дополнительную ветку в реестре HKLM\SOFTWARE\SafelyRemove. Как прописать её удаление при деинсталяции в скрипте.
2) При запуске программа создаёт лог событий USBSRService (c:\ProgramData\USBSRService\USBSRService.log.txt). Как прописать удаление папки с логом (c:\ProgramData\USBSRService) при деинсталяции в скрипте.
Вот мой скрипт. Если есть ещё замечания по скрипту - приму с удовольствием (только учусь) :o
R.i.m.s.k.y.
08-05-2015, 10:52
AlexM22204,
1.
[Registry]
Root: HKLM; SubKey: SOFTWARE\SafelyRemove; Flags: uninsdeletekey noerror
2.[UninstallDelete]
Type: filesandordirs; Name: "{commonappdata}\USBSRService"
Вот мой скрипт. Если есть ещё замечания по скрипту - приму с удовольствием (только учусь »
Filename: "{win}\regedit.exe"; Parameters: "-s ""{src}\USBSafelyRemoveSettings.reg"""; StatusMsg: "Внесение настроек в реестр..."
покажи USBSafelyRemoveSettings.reg, а то может ты там вносишь в х64 секции реестра
AlexM22204
08-05-2015, 11:09
R.i.m.s.k.y., 2.[UninstallDelete]
Type: filesandordirs; Name: "{commonappdata}\USBSRService" »
Тут всё удалилось, без вопросов.
А вот ветка в реестре HKLM\SOFTWARE\SafelyRemove не удаляется, хоть тресни, может как по другому. :( Хотя вручную всё удаляется...
А также таким батником всё удаляется...
@Echo Off
Reg Delete "HKLM\SOFTWARE\SafelyRemove" /f
Pause
AlexM22204, попробуй запусти деинсталлятор от админа »
не помогло...
покажи USBSafelyRemoveSettings.reg, а то может ты там вносишь в х64 секции реестра »
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\SafelyRemove\Options]
; Спятать иконку, когда нет устройств для остановки
"AutoHideIcon"="1"
; Показывать количество отображаемых устройств в трей-иконке
"ShowCountOfDevicesInTrayIcon"="1"
; Упрощённое меню
"SimpleMenu"="1"
R.i.m.s.k.y.
08-05-2015, 11:12
AlexM22204, попробуй запусти деинсталлятор от админа
R.i.m.s.k.y.
08-05-2015, 11:30
AlexM22204, это очень плохой тон - отвечать выше
убери noerror и удали еще раз - что напишет покажи
и проверь правильность написания Software\SafelyRemove
AlexM22204
08-05-2015, 11:47
AlexM22204, это очень плохой тон - отвечать выше »
Извиняюсь исправлюсь! Не удалилось...
http://savepic.ru/6957825.jpg (http://savepic.ru/6968065.jpg)
R.i.m.s.k.y.
08-05-2015, 11:56
AlexM22204, хз
либо права на ветку не даны, либо написание (копировать из реестра название разделов - вставлять в скрипт)
помогите.
в коде где-то косяк. при выборе "неправильной" папки для установки появляется окно с сообщением что выбрана неправильная папка, но после нажатия ок проходит дальше на следующую страницу, хотя должна остаться на странице выбора папки для установки
kotyarko@fb
09-05-2015, 10:29
при выборе "неправильной" папки для установки появляется окно с сообщением что выбрана неправильная папка, но после нажатия ок проходит дальше на следующую страницу, хотя должна остаться на странице выбора папки для установки »
444 строка, уберите Result := True;
Какой смысл всех тех проверок и указаний "Result := False", если в конце функции Result всё равно приравнивается к True?
kotyarko@fb, не очень силен в этом. спс
444 строка, уберите Result := True;
Какой смысл всех тех проверок и указаний "Result := False", если в конце функции Result всё равно приравнивается к True? »
не помогло...
если убрать эту строку то все равно переходит на следующую страницу установки даже если выбрана не правильная папка, просто на последней странице не пускает дальше...
а мне надо чтобы не пускало дальше страницы wpSelectDir если указана не правильная папка
kotyarko@fb
09-05-2015, 13:31
svs23, там ещё после каждого прохода "if CurPageID = ComponentsPage1.ID" Result`у присваивался True.
Пробуйте: [ссылка удалена].
з.ы. подправил проверку версии патча.
OldGamer
09-05-2015, 14:49
Доброго дня!
Подскажите, пожалуйста, как сделать отображение процентов установки?
svs23, там ещё после каждого прохода "if CurPageID = ComponentsPage1.ID" Result`у присваивался True.
з.ы. подправил проверку версии патча. »
огромное человеческое спасибо....
kotyarko@fb
09-05-2015, 15:07
Подскажите, пожалуйста, как сделать отображение процентов установки? »
Пример в конце поста (http://forum.oszone.net/post-2124681-69.html).
palsn2000
10-05-2015, 14:13
kotyarko@fb, OldGamer, Здравствуйте, можно мне присоединиться к вашей теме отображения процентов установки?
В обновлённом примере благодаря правке El Sanchez-а процент выполнения прогрессбара дописывается к уже имеющемуся тексту, а можно ли процент выполнения связать с каким нибудь TLabel1, поместить этот TLabel1 например на середину прогресс бара и чтобы отображалось от 0 до 100 % в течение установки?
Николай_Николаич@vk
12-05-2015, 00:42
Еще раз здравствуйте.
Подскажите, как сделать проверку на наличие папки.
Например, путь установки такой - C:\MyProgram\
Если в папке MyProgram есть папка Prog - то все отлично, если же её нету, то предупреждение в окошке.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.