Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 4]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Забанен


Сообщения: 216
Благодарности: 62

Профиль | Цитировать


Лександер, Вот так, да, честно фиг бы догадался, да и я понимаю что уже был такой вопрос, но я не впёр нифига как и что, я с дуру тупо на панели искал, а OuterNotebook оказывается был рядом.
Лександер, тебе зачёт за скринкаст , спасибо ещё раз.

Последний раз редактировалось Devils Night, 26-12-2011 в 13:17.


Отправлено: 12:48, 26-12-2011 | #471



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 989
Благодарности: 38

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста.
Пытался добавить в файл 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?
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:13, 26-12-2011 | #472


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


МИШАНЧИК, может потому что любые мало-мальски толковые антивири блокируют этот файл от изменений?

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:27, 26-12-2011 | #473


Ветеран


Сообщения: 989
Благодарности: 38

Профиль | Отправить PM | Цитировать


Цитата R.i.m.s.k.y.:
может потому что любые мало-мальски толковые антивири блокируют этот файл от изменений? »
Вы правы. Отключил Касперского и всё нормально добавилось в файл. А нельзя это как-то обойти?
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:34, 26-12-2011 | #474


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


МИШАНЧИК, я думаю нужно копать в сторону системных функций, их каспер блокировать не станет
но тут я не знаю, может El Sanchez подскажет?

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:36, 26-12-2011 | #475


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029

Профиль | Отправить PM | Цитировать



Цитата R.i.m.s.k.y.:
я думаю нужно копать в сторону системных функций, их каспер блокировать не станет
но тут я не знаю, может El Sanchez подскажет? »
El Sanchez говорит, что инсталлятору бестолку соваться в защищенный каспером системный файл, а надо этот самый каспер и настроить, например:
http://forum.kaspersky.com/index.php?showtopic=185494
http://forum.kaspersky.com/index.php?showtopic=169424
и т.д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:57, 26-12-2011 | #476


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


А у меня вот так прокатило:
читать дальше »
Код: Выделить весь код
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..

Цитата El Sanchez:
а надо этот самый каспер и настроить, например: »
Беда в том, что не понимают юзеры в большинстве своем, что что компьютером нужно уметь пользоваться. Многие считают, что уметь запускать игру с ярлыка - это максимом, что от пользователя требуется. И для таких пользователей мы с вами и стараемся, автоматизируя то, что испокон веков руками делалось. Потому и не объяснить людям, что программа установки правильно написана. А не ставится она - от кривых рук пользователя, которому лень лишний раз антивирус настроить.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 26-12-2011 в 18:29.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:25, 26-12-2011 | #477


Забанен


Сообщения: 216
Благодарности: 62

Профиль | Цитировать


Цитата Лександер:
По принципу - чего нельзя изменить, то сперва удалим »
А если там какие другие важные данные храняться? Ну например я добавил что-то на некоторые программы, для того чтоб не просились в интернет, а тут бац, и всё тихо сносится.
А что если поступить как нибудь проще, ну например до инсталяции, сам инсталятор сначала переименовывает 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, ведь ничего не мешает переименовыванию, как то так можно будет реализовать, не?

Последний раз редактировалось Devils Night, 26-12-2011 в 18:04.


Отправлено: 17:58, 26-12-2011 | #478


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Цитата Devils Night:
А если там какие другие важные данные храняться? »
Читай внимательно:
Цитата Devils Night:
LoadFromFile(HostFileName); »
Тоесть сперва мы грузим стринглист из файла, тобиш получаем содержимое хоста,
Цитата Devils Night:
Add('127.0.0.1 www.xxx'); »
и т.д. - потом добавляем свои строки к тому. что есть. Только после этого удаляем старый хост, и создаем новый со старым содержимым+ наши строки.

Цитата Devils Night:
А что если поступить как нибудь проще, ну например до инсталяции, сам инсталятор сначала переименовывает hosts в hosts1, »
Врядли. если нельзя изменить, то и переименовать тоже нельзя будет. Правда, есть у меня подозрение. что и удалить его тоже будет нельзя

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:27, 26-12-2011 | #479


Забанен


Сообщения: 216
Благодарности: 62

Профиль | Цитировать


Цитата Лександер:
Читай внимательно »
Что читать, если я не разбираюсь.
Цитата Лександер:
LoadFromFile(HostFileName); »
, а точнее что прочитаю, что нет, один фиг я в этом не шарю.
Цитата Лександер:
Врядли. если нельзя изменить, то и переименовать тоже нельзя будет. »
Ну а как по твоему при включенном Каспере мне приходилось вписывать хосты для программ? Естественно путём переименовывания, да и на тот момент я не знал что это каспер блокирует, думал виндовые штучки, но это под XP, а под Win7 вообще приходилось из под админа лезть.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:19, 26-12-2011 | #480



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход