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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


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

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

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

Ветеран


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

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


Цитата vahe-91:
спасибо, ты очень добр »
Всегда пожалуйста, если я знаю ответ, то отвечаю на конкретные вопросы. Вопросы общего плана "Как сделать заипок" проходят мимо. Желающие получить код на халяву так же идут следом. Если есть вопросы - сначала почитай что в шапке, поверь, это уменьшит вопросы наполовину. Я сам начинал с шапки.

Цитата vahe-91:
Что не правильно »
InitializeSetup - это сис.функция, если она вернет Фалсе* инсталлер закроется и не пикнет. Что-то возвращает Фалсе. Потыкай Result := True в разные места, примерно так.
Код: Выделить весь код
 
[_Code] 
var paramZ:boolean; 
function InitializeSetup(): Boolean;
var i:integer; x,s, st:string;
begin    
Result := True;
for i:=2 to ParamCount do 
begin st:=Lowercase(ParamStr(i)); 
StringChangeEx(st, '/', '', True); 
StringChangeEx(st, '\', '', True); StringChangeEx(st, '-', '', True); 
case st of  Lowercase('z') : paramZ := true; 
Result := True;
end;  
end;  
end;
Такая фенька с расстановкой Result := True; у меня была на старой версии инно. тут Лександер страниц 5 назад выкладывал ультра инно с препроцессором и тп., на нем у меня без этих подстановок робит

И постарайся структурировать код, отступами, пустыми строчками, а то сплошной поток символов, самому будет легче разбираться.

* ничего что я по-английски

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


Отправлено: 22:40, 06-01-2011 | #401



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

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


Пользователь


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

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


R.i.m.s.k.y.,
после result:=true вообще не компилируется, пишет begin ему нужен, пишу в этом месте begin, а он мне, что result это unknown identifier. Поставил инно с препроцессором, которые выкладывал Лександр не работает.

Отправлено: 23:55, 06-01-2011 | #402


Ветеран


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

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


Цитата Vamp1re:
а можете мне дать целую готовую командную строку rar? »
к сожалению с ним не знаком, т.к. rar'ом не пользуюсь, на мой взгляд 7z лучше.

Цитата Rostlv:
но в более новых темах для XP под Висту и Севен, где прогрессбар цельный, он не отображается »
Возможно, спорить не буду, у меня нет таких тем, чтоб испробовать. В любом случае, мы используем системный прогрессбар.
Цитата Rostlv:
расположить не над основным прогрессбаром, а над фейковым? Было бы резоннее. »
Как говорят, на вкус и цвет...
Можете сами нарисовать дополнительный статик и выводить в нём сообщения.
Цитата Rostlv:
Добавление перевода в секцию [CustomMessages] проблему не решает. Сделать два языка в секции [Types] не получается »
Решается это двумя способами:
1. В каждом своём скрипте прописываете через [CustomMessages] перевод для каждого языка и уже указываете в [Types] свою переменную, т.е.:
Код: Выделить весь код
[CustomMessages]
russian.CustomInstallation=Выборочная установка
english.CustomInstallation=Custom installation

[Types]
Name: custom; Description: {cm:CustomInstallation}; Flags: iscustom
2. Открываете языковой файл, допустим Russian.isl, распаложен в папке Languages, находите в конце файла секцию [CustomMessages] и добавляете в неё новой строкой
Код: Выделить весь код
CustomInstallation=Выборочная установка
и так далее для каждого языка, т.е. для English.isl:
Код: Выделить весь код
CustomInstallation=Custom installation
а в скрипте уже просто пишите
Код: Выделить весь код
[Types]
Name: custom; Description: {cm:CustomInstallation}; Flags: iscustom
Цитата nik1967:
С помощью операторов while и do пробовал зациклить, но не могу условия сообразить. »
Код: Выделить весь код
  while True do
    begin
      GameAlreadyInstall := RegQueryStringValue({#ValueExists}, GamePath) and FileExists({#FileExists});
      case GameAlreadyInstall of
        True:
          begin
            // здесь что-то делаем
          end;
        False:
          begin
            // здесь что-то делаем
          end;
      end;
//      if условие then
        Break; // выходим из цикла
    end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 00:02, 07-01-2011 | #403


Ветеран


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

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


Цитата vahe-91:
вообще не компилируется »
Код: Выделить весь код
[Code]
var
  paramZ: Boolean;
  
function InitializeSetup(): Boolean;
var
  i: Integer;
  st: string;
begin
  Result := True;
  for i := 2 to ParamCount do
    begin
      st := Lowercase(ParamStr(i));
      StringChangeEx(st, '/', '', True);
      StringChangeEx(st, '\', '', True);
      StringChangeEx(st, '-', '', True);
      paramZ := st = 'z';
    end;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:53, 07-01-2011 | #404


Пользователь


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

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


Serega,
а сейчас компилируется, установщик запускается, а если запустить с ключом /z, то будет тоже самое что и без него

Последний раз редактировалось vahe-91, 07-01-2011 в 10:41.


Отправлено: 10:36, 07-01-2011 | #405


Ветеран


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

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


Цитата vahe-91:
а если запустить с ключом /z, то будет тоже самое что и без него »
Если вы просто скопировали из предыдущего поста, то естественно.
Я лишь подкорректировал код R.i.m.s.k.y., чтоб было понятней:
Код: Выделить весь код
var
  paramZ: Boolean;

function InitializeSetup(): Boolean;
var
  i: Integer;
  st: string;
begin
  Result := True;
  for i := 2 to ParamCount do
    begin
      st := Lowercase(ParamStr(i));
      StringChangeEx(st, '/', '', True);
      StringChangeEx(st, '\', '', True);
      StringChangeEx(st, '-', '', True);
      paramZ := st = 'z';
    end;
  if paramZ then
    MsgBox('Ключ "z", присутствует в командной строке.', mbInformation, MB_OK);
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 11:05, 07-01-2011 | #406


Аватара для Sotonisto

Пользователь


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

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


Цитата Vista-w:
Помогите пожалуйста, как убрать черную обводку?»
Ну вот тебе прозрачный текст

"Новая" версия инсталла для Fallout NV
Изменения: добавил чебоксы и музыку во время инсталляции, немного подправил скрипт.
СКАЧАТЬ АРХИВ
P.S.: Спасибо за помощь с чебоксами vint56'у с Ru-board.

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.

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

Отправлено: 11:37, 07-01-2011 | #407


Пользователь


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

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


Цитата Serega:
Если вы просто скопировали из предыдущего поста, то естественно. »
а как именно должно быть ? я всего 2 дня изучаю Инно

Отправлено: 11:39, 07-01-2011 | #408


Ветеран


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

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


Цитата vahe-91:
я всего 2 дня изучаю Инно »
Нашёл на предыдущей странице ваш пост, с запуском файла x.exe, должно быть так:
Пример

Код: Выделить весь код
[Files]
Source: C:\Documents and Settings\Administrator\Desktop\x.exe; Flags: dontcopy

[Code]
var
  paramZ: Boolean;

function GetKeyParamStr(const key: string): Boolean;
{ функция вернёт True, если ключ key присутствует в командной строке }
var
  i: Integer;
  s, t: string;
begin
  try
    Result := False;
    t := Lowercase(key);
    for i := 2 to ParamCount do
      begin
        s := Lowercase(ParamStr(i));
        if Pos(t, s) > 0 then
          begin
            StringChangeEx(s, '/', '', True);
            StringChangeEx(s, '\', '', True);
            StringChangeEx(s, '-', '', True);
            Result := t = s;
          end;
        if Result then Break;
      end;
  finally
    SetLength(s, 0);
    SetLength(t, 0);
  end;
end;

function InitializeSetup(): Boolean;
begin
  Result := True;
  paramZ := GetKeyParamStr('z');
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
  res: Integer;
begin
  if (CurStep = ssDone) and paramZ then
    begin
      ExtractTemporaryFile('x.exe');
      Exec(ExpandConstant('{tmp}\x.exe'), '/z', ExpandConstant('{tmp}'), SW_HIDE, ewWaitUntilTerminated, res);
    end;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 12:11, 07-01-2011 | #409


Пользователь


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

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


Serega,
получилось, спасибо тебе большое . А что еще добавить, чтобы без ключа /z запустилась x.exe без каких либо ключей. Если его запуск прописать в [run], то он запустится и во время запуска с ключом /z.

Последний раз редактировалось vahe-91, 07-01-2011 в 13:47.


Отправлено: 13:32, 07-01-2011 | #410



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход