Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]
R.i.m.s.k.y.
24-12-2011, 13:41
Arsi000, это к авторам, но думаю проблем нет тк много развелось всяких надстроек над инно
а зачем инно64? он и так замечательно живет в х64 системах
я понимаю что работает прекрасно но есть причины во первых и это главное иногда нужен именно нативный x64 setup сделать( а нельзя), во вторых
когда то поддержку 32 бит выпилит майкрософт на совсем и надо уже сейчас хотя бы начинать думать об этом, в третьих снимутся ограничения 2 гб да и просто две версии x64 и x86 лучше будет выбор кому нужно 32 бита или гибрид выберут x86 а кому нативная 64 то x64. вопрос сложный конечно но вон даже смотрю мелкие утилиты какие то переходят на 64 а inno не двигается обидно просто прога то хорошая и удобная.
когда то поддержку 32 бит выпилит майкрософт »
Но, это вы загнули ;) Пока это произойдет мы уж все состаримся :) Думаю, что полного перехода на x64 в светлом будущем можно не ждать.
ЗЫ. Serega, рад вас видеть ;) А то слух пошел, что вы нас покинули ;)
Serega, рад вас видеть»
И моё вам почтение :hi:
А то слух пошел, что вы нас покинули »
Наговаривают... :)
На самом деле, просто времени свободного стало совсем мало, поэтому заглядываю сюда не так часто, как раньше...
valyok666
25-12-2011, 16:41
Serega, Вас Всегда рады видеть :beer2: Кстати Всех с Наступающим :wink2:
Предупреждение, нарушение ОПК 3.9
Запрещается:
Вставлять в сообщение рисунок разрешением более 640x480 или размером более 40Кб. Такие рисунки разрешено указывать только в виде ссылки. Вы можете прикрепить рисунок к сообщению в расширенном режиме ответа.
Devils Night
26-12-2011, 02:29
Подскажите, как изменить размер, а то что-то не меняется:
http://i2.imageban.ru/thumbs/2011.12.26/fb6da582790e20998ac6a20186f43789.png (http://imageban.ru/show/2011/12/26/fb6da582790e20998ac6a20186f43789/png)
Спылл1999, панимаыш када пешут так с ашыпкам ваще помогать на нихочица »Да, с ником ты перегенул, а вообще, знаешь ли, всегда удобнее за чужими ошибками следить, до тех пор пока сам не допустишь.
Это просто второй VASYAKRN появился .
Gnom_aka_Lexander
26-12-2011, 09:14
Devils Night, Както так (http://rghost.ru/35604104)
Serega, мое вам почтение :)
by_gangster
26-12-2011, 11:09
здравствуйте, скажите как можно сделать такой вот мини-инсталятор как на картинке
Gnom_aka_Lexander
26-12-2011, 11:45
by_gangster, поиск - великая вещь.
раз (http://rghost.ru/7976521), два (http://rghost.ru/4663821), три (http://rghost.ru/4661187).
Все не соберусь никак переписать его с учетом новопоступивших знаний и опыта :)
R.i.m.s.k.y.
26-12-2011, 12:44
у меня такой вопросик:
Инсталлер инно сам определяет о необходимости перезагрузки и в конце заменяет окно wpFinished на свое с предложением перезагрузиться. А оно, wpFinished, желательно очень.
RestartIfNeededByRun=no я конечно могу поставить , но тогда надо самому отлавливать и предупреждать. Проверку к isComponentSelected я прикрутил, но это не то. Вопрос знатокам: как самостоятельно узнать при RestartIfNeededByRun=no что инно определелил необходимость перезагрузки? NeedRestart по описанию не то.
Serega c возвращением, камрад!
Devils Night
26-12-2011, 12:48
Лександер, Вот так, да, честно фиг бы догадался, да и я понимаю что уже был такой вопрос, но я не впёр нифига как и что, я с дуру тупо на панели искал, а OuterNotebook оказывается был рядом.
Лександер, тебе зачёт за скринкаст :up , спасибо ещё раз.
МИШАНЧИК
26-12-2011, 15:13
Подскажите пожалуйста.
Пытался добавить в файл hosts нужные мне строки
procedure CurStepChanged(CurStep: TSetupStep);
var
HostFile: TStringList;
begin
HostFile := TStringList.Create;
try
with HostFile do
if CurStep = ssPostInstall then
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;
При установке пишет, что не может создать файл {sys}\drivers\etc\hosts и подсвечивает строку
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
Хотя если создать пустой текстовый файл hosts2, то внего всё записывает.
Может можно как-то сделать чтобы нормально вносилось в оригинальный hosts?
R.i.m.s.k.y.
26-12-2011, 15:27
МИШАНЧИК, может потому что любые мало-мальски толковые антивири блокируют этот файл от изменений?
МИШАНЧИК
26-12-2011, 15:34
может потому что любые мало-мальски толковые антивири блокируют этот файл от изменений? »
Вы правы. Отключил Касперского и всё нормально добавилось в файл. А нельзя это как-то обойти?
R.i.m.s.k.y.
26-12-2011, 15:36
МИШАНЧИК, я думаю нужно копать в сторону системных функций, их каспер блокировать не станет
но тут я не знаю, может El Sanchez подскажет?
El Sanchez
26-12-2011, 16:57
я думаю нужно копать в сторону системных функций, их каспер блокировать не станет
но тут я не знаю, может El Sanchez подскажет? »
El Sanchez говорит, что инсталлятору бестолку соваться в защищенный каспером системный файл, а надо этот самый каспер и настроить, например:
http://forum.kaspersky.com/index.php?showtopic=185494
http://forum.kaspersky.com/index.php?showtopic=169424
и т.д.
Gnom_aka_Lexander
26-12-2011, 17:25
А у меня вот так прокатило:
procedure CurStepChanged(CurStep: TSetupStep);
var
HostFile: TStringList;
HostFileName: String;
begin
HostFile := TStringList.Create;
HostFileName:=ExpandConstant('{sys}\drivers\etc\hosts');
try
with HostFile do
if CurStep = ssPostInstall then
begin
LoadFromFile(HostFileName);
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
DeleteFile(HostFileName);
SaveToFile(HostFileName);
end;
finally
HostFile.free;
end;
end;По принципу - чего нельзя изменить, то сперва удалим :)
Единственное - Для удаления лучше взять системную функцию DeleteFile, для надежности. Или волшебный смд-скрипт товарища R.i.m.s.k.y..
а надо этот самый каспер и настроить, например: »
Беда в том, что не понимают юзеры в большинстве своем, что что компьютером нужно уметь пользоваться. Многие считают, что уметь запускать игру с ярлыка - это максимом, что от пользователя требуется. И для таких пользователей мы с вами и стараемся, автоматизируя то, что испокон веков руками делалось. Потому и не объяснить людям, что программа установки правильно написана. А не ставится она - от кривых рук пользователя, которому лень лишний раз антивирус настроить.
Devils Night
26-12-2011, 17:58
По принципу - чего нельзя изменить, то сперва удалим »А если там какие другие важные данные храняться? Ну например я добавил что-то на некоторые программы, для того чтоб не просились в интернет, а тут бац, и всё тихо сносится.
А что если поступить как нибудь проще, ну например до инсталяции, сам инсталятор сначала переименовывает hosts в hosts1, потом добавляет строки которые нужны, типа
procedure CurStepChanged(CurStep: TSetupStep);
var
HostFile: TStringList;
HostFileName: String;
begin
HostFile := TStringList.Create;
HostFileName:=ExpandConstant('{sys}\drivers\etc\hosts1');
try
with HostFile do
if CurStep = ssPostInstall then
begin
LoadFromFile(HostFileName);
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 www.xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
Add('127.0.0.1 xxx');
DeleteFile(HostFileName);
SaveToFile(HostFileName);
end;
finally
HostFile.free;
end;
end;и в завершении переименовывает обратно, т.е из hosts1 в hosts, ведь ничего не мешает переименовыванию, как то так можно будет реализовать, не?
Gnom_aka_Lexander
26-12-2011, 18:27
А если там какие другие важные данные храняться? »
Читай внимательно:
LoadFromFile(HostFileName); »
Тоесть сперва мы грузим стринглист из файла, тобиш получаем содержимое хоста, Add('127.0.0.1 www.xxx'); »
и т.д. - потом добавляем свои строки к тому. что есть. Только после этого удаляем старый хост, и создаем новый со старым содержимым+ наши строки.
А что если поступить как нибудь проще, ну например до инсталяции, сам инсталятор сначала переименовывает hosts в hosts1, »
Врядли. если нельзя изменить, то и переименовать тоже нельзя будет. Правда, есть у меня подозрение. что и удалить его тоже будет нельзя :)
Devils Night
26-12-2011, 19:19
Читай внимательно »Что читать, если я не разбираюсь.
LoadFromFile(HostFileName); », а точнее что прочитаю, что нет, один фиг я в этом не шарю.
Врядли. если нельзя изменить, то и переименовать тоже нельзя будет. »Ну а как по твоему при включенном Каспере мне приходилось вписывать хосты для программ? Естественно путём переименовывания, да и на тот момент я не знал что это каспер блокирует, думал виндовые штучки, но это под XP, а под Win7 вообще приходилось из под админа лезть.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.