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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для AlekseyPopovv

Старожил


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

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


habib2302, Заменить команду /DIR на /D
Код: Выделить весь код
function GetDirFromCMD(kWord: string): string;
var
i, lStr: integer;
begin
Result := WizardDirValue;
lStr := Length(kWord);
for i := 0 to ParamCount do begin
if Pos(LowerCase(kWord), LowerCase(ParamStr(i))) > 0 then begin
Result := Copy(ParamStr(i), Pos(LowerCase(kWord), LowerCase(ParamStr(i))) + lStr,
Length(ParamStr(i)) - lStr);

while (Result[1] = '"') and (Result[Length(Result)] = '"') do
begin
Delete(Result, Length(Result), 1);
Delete(Result, 1, 1);
end;
end;
if Result <> WizardDirValue then
Break;
end;
end;

procedure InitializeWizard();
begin
WizardForm.DirEdit.Text := GetDirFromCMD('/D='); // можно поменять на любую букву
end;
Как Заменить команду /LANG на /L и Заменить команду /COMPONENTS на /C не знаю.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:49, 26-06-2015 | #741



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

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


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


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

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


как показать TasksList через CurPageChanged; (Как в скрипте от Serega.)

Отправлено: 17:19, 27-06-2015 | #742


Аватара для AlekseyPopovv

Старожил


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

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


Цитата PlanktoN:
Помогите чтоб был виден текст на Выборе задач,Выборе Группы для Ярлыков и Страница Установки FreeArc(Просто там не виден текст какой файл распаковывается сколько времени осталось) »
Пока не понятно что вы хотите? Почему там текст не виден?... Пишите скрипт.

Как перед запуском инсталлятора проверить подключен ли компьютер к интернет? Если интернет подключен, то выдать сообщение "Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!" (mb_ok), если нет то продолжить установку.

Отправлено: 19:17, 28-06-2015 | #743


Аватара для kotyarko@fb

Старожил


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

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


Цитата AlekseyPopovv:
Как перед запуском инсталлятора проверить подключен ли компьютер к интернет? »
Например, так:
Код: Выделить весь код
Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
 external 'InternetGetConnectedState@wininet.dll stdcall';

Function InitializeSetup(): Boolean;
begin
 if not InternetGetConnectedState(ConnectionState, 0) then
  Result := True
 else
 begin  
  MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
  Result := False;
 end;
end;
Есть и такой вариант.

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp


Последний раз редактировалось kotyarko@fb, 28-06-2015 в 19:54.

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

Отправлено: 19:48, 28-06-2015 | #744


Аватара для AlekseyPopovv

Старожил


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

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


kotyarko@fb, В первом варианте вообще не собирается скрипт, во втором варианте всё собирается, но всегда пишет что интернета нет и продолжает установку!

Отправлено: 20:31, 28-06-2015 | #745


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
В первом варианте вообще не собирается скрипт »
Попробуйте так:
Код: Выделить весь код
[setup]
appname=app
appversion=1.0
defaultdirname={sd}\app

[Code]
var
  ConnectionState: DWORD;
  
Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
 external 'InternetGetConnectedState@wininet.dll stdcall';

Function InitializeSetup(): Boolean;
begin
 if not InternetGetConnectedState(ConnectionState, 0) then
  Result := True
 else
 begin
  MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
  Result := False;
 end;
end;

-------
Inno Setup 5 Ultra Unicode

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

Отправлено: 00:07, 29-06-2015 | #746


Аватара для AlekseyPopovv

Старожил


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

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


Dodakaedr, Ваш код работает. Но у меня вылазит ошибка сразу после нажатия "ок". Это мешает:
Код: Выделить весь код
procedure DeinitializeSetup();
begin
ISWin7DeInit;
end;
Как с ней быть?

Отправлено: 04:40, 29-06-2015 | #747


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
Как с ней быть? »
Скрытый текст
Код: Выделить весь код
[setup]
appname=app
appversion=1.0
defaultdirname={sd}\app

[Code]
var
  ConnectionState: DWORD;
  Int: boolean;

Function InternetGetConnectedState(var lpdwFlags: DWORD; dwReserved: DWORD): Boolean;
 external 'InternetGetConnectedState@wininet.dll stdcall';

Function InitializeSetup(): Boolean;
begin
 if not InternetGetConnectedState(ConnectionState, 0) then
  Result := True
 else
 begin
  MsgBox('Имеется активное подключение к интернет! Отключите интернет и попробуйте снова!', mbError, MB_OK);
  Result := False;
 end;
end;

procedure InitializeWizard();
begin
  Int := True;
end;

procedure DeinitializeSetup();
begin
    if Int <> False then
      begin
          ISWin7DeInit;
      end;
end;

-------
Inno Setup 5 Ultra Unicode

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

Отправлено: 07:12, 29-06-2015 | #748


Аватара для habib2302

Ветеран


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

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


доброе время суток. подскажите пожалуйста код для ansi на проверку на наличие файла перед распаковкой файлов
у меня есть один код, но при компиляции выдает ошибку
Код: Выделить весь код
[code]
var found: boolean;

procedure NextButtonClick (CurPageID: integer): boolean;
begin
 if CurPageID=wpSelectDir then
 begin
  if not FileExists(AddBackslash(WizardForm.DirEdit.text) + 'CaptureDotNetRes.dll') then
  begin
    found:=false;
    result:=false;
    MsgBox('Отсутствуют некоторые файлы. Установка будет прервана!', MBinformation, mb_OK)
    WizardForm.Close;
  end
  else
    begin
    found:=true;
    result:=true;
    end;
 end
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
  if ((CurPageID= wpSelectDir )and (not found)) then
  begin
  cancel:=true;
  confirm:=false;
  end;
end;

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 29-06-2015 в 11:24.


Отправлено: 10:28, 29-06-2015 | #749


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


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

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


habib2302, Так пойдет. На любой версии.
Скрытый текст
Код: Выделить весь код
var
   error : Boolean;
 function NextButtonClick(CurPageID: Integer): Boolean;
 begin
   Result := true;
   error := false;
   if CurPageID=wpSelectDir then begin
    Result := FileExists(ExpandConstant('{src}\file.test'))
    if not Result then begin
    MsgBox('Отсутствуют некоторые файлы. Установка будет прервана!', mbError, MB_OK);
    error := true;
    WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
    end;
    end;
   end;

 procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
 begin
  Confirm:=False;
 end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:09, 29-06-2015 | #750



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58




 
Переход