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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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

 

Новый участник


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

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


ZVSRus,
Страница создается скажем при наличии ключа в реестре. Если ключа нет, она не создается. Далее в коде (уже совсем в другом месте, скажем, на ssDone при нажатом чекбоксе на той самой странице происходит еще что-то. Проблема возникает, если на ssDone идет обращение к чекбоксу страницы, которая ввиду условий не была создана. Это все упрощенно, условий для создания страницы больше

Повторюсь, может проще ее создавать изначально, но при тех же условиях ее просто не показывать ( пропускать)

Отправлено: 17:43, 17-12-2017 | #2351



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

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


Аватара для ZVSRus

Старожил


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

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


Цитата Ivn78:
Страница создается скажем при наличии ключа в реестре. Если ключа нет, она не создается.
Первый раз слышу чтобы Если ключа нет, она не создается если ключ есть то она создается.
Костомная страница при наличии ключа сама не создастся, её нужно изначально ручками создавать. А уже потом написать функцию для ключа в реестре, в функции прописать если ключ в реестре есть страницу показывать, ключа в реестре нет страницу не показывать.

Цитата:
Это все упрощенно, условий для создания страницы больше
Условий для создания костомной страницы автоматом я не знаю и нигде не встречал, ввиду того что создания страниц как вы описываете не существует. Пример, создалась у вас при наличии ключа в реестре страница автоматом, что и на ней уже существуют чекбоксы, лейблы, все те компоненты какие вы желаете видеть? Ну да ладно!!!

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode

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

Отправлено: 18:22, 17-12-2017 | #2352


Новый участник


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

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


ZVSRus,
немного мы не понимаем друг друга, ну да ладно
Код: Выделить весь код
procedure CreatePageUPnP();
begin
    UPnPPage := CreateCustomPage(PgID, ExpandConstant('{cm:UPnPDlgCaption}'), ExpandConstant('{cm:UPnPDlgDescription}'));
    Header := TNewStaticText.Create(UPnPPage);
    Header.Parent := UPnPPage.Surface;
    Header.SetBounds(0, 0, WizardForm.InnerNotebook.Width, ScaleY(110));
    Header.Autosize := False;
    Header.WordWrap := True;
    Header.Caption := ExpandConstant('{cm:UPnPDlgExplanation}');
    UPnPCheck := TCheckBox.Create(WizardForm);
    with UPnPCheck do begin
        Parent := UPnPPage.Surface;
        Left := ScaleX(0);
        Top := ScaleY(212);
        Caption := ExpandConstant('{cm:UPnPDlgConfigure}');
        Width := ScaleX(300);
        Checked := True;
    End;
    if UPnPConfigure then UPnPCheck.State := cbUnChecked else UPnPCheck.State := cbChecked;
end;

procedure InitializeWizard();
begin
    if AskedUPnPConfigure then CreatePageUPnP();
end;
Я не писал, что страница создается автоматом. Я писал, что команда на ее создание отправляется только при определенных условиях.
Цитата ZVSRus:
если ключ в реестре есть страницу показывать, ключа в реестре нет страницу не показывать »
Это как можно сделать?

Отправлено: 23:31, 17-12-2017 | #2353


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

Ветеран


Contributor


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

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


Цитата Ivn78:
Я не писал, что страница создается автоматом. Я писал, что команда на ее создание отправляется только при определенных условиях. »
Ivn78, создавайте страницу в любом случае, ее показ регулируйте в ShouldSkipPage:
Скрытый текст

Код: Выделить весь код
procedure InitializeWizard;
begin
  CreatePageUPnP();
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := False;
  case PageID of
    UPnPPage.ID:
      Result := not AskedUPnPConfigure;
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:32, 18-12-2017 | #2354


Новый участник


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

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


Прошу помощи. Нужно организовать проверку установленной версии IE.
Код: Выделить весь код
HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version'
значение вида 7.0.5730.13. Как сделать, чтобы если первая цифра (число до первой точки) этого значения меньше 8, то выполнять действия?

Отправлено: 13:13, 19-12-2017 | #2355


Аватара для nik1967

Старожил


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

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


Ivn78,
Пример
Код: Выделить весь код
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[code]
var
  NVersion: String;
	
function InitializeSetup: Boolean;
begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version', NVersion);
  Delete(NVersion, 2, Length(NVersion));
  if StrToInt(NVersion) < 8 then begin
    MsgBox('Пора бы обновить', mbInformation, MB_OK);
    Result:= false;
  end else begin
    MsgBox('IE в норме', mbInformation, MB_OK);
    Result:= true;
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Последний раз редактировалось nik1967, 19-12-2017 в 22:03.

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

Отправлено: 21:45, 19-12-2017 | #2356


Новый участник


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

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


nik1967,
а как быть, если первое число двухзначное? сейчас получается, что 10<8

Отправлено: 22:35, 19-12-2017 | #2357


Аватара для nik1967

Старожил


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

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


Ivn78,
Тогда так
Код: Выделить весь код
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[code]
var
  NVersion: String;
  Tochka: Integer;
	
function InitializeSetup: Boolean;
begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version', NVersion);
  Tochka:= Pos('.', NVersion);
  Delete(NVersion, Tochka, Length(NVersion));
  if StrToInt(NVersion) < 8 then begin
    MsgBox('Пора бы обновить', mbInformation, MB_OK);
    Result:= false;
  end else begin
    MsgBox('IE в норме', mbInformation, MB_OK);
    Result:= true;
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 23:24, 19-12-2017 | #2358


Покинул форум


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

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


подскажите пожалуйста как удалить название игры в этом пункте https://s8.hostingkartinok.com/uploa...f32e281622.png
http://rgho.st/8TsjZx2Y6

Последний раз редактировалось ENERGES, 20-12-2017 в 11:02.


Отправлено: 08:37, 20-12-2017 | #2359


SHVtYW4=


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

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


Цитата web_form:
подскажите пожалуйста как удалить название игры в этом пункте »
Если: "SelectDirLabel3=Программа установит [name] в следующую папку." - То соответственно:

Код: Выделить весь код
[Languages]
Name: en; MessagesFile: compiler:Default.isl
Name: ru; MessagesFile: compiler:Languages\Russian.isl

[Messages]
ru.SelectDirLabel3=Программа установит в следующую папку.
en.SelectDirLabel3=Setup will install into the following folder.
- Всё просто.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 12:28, 20-12-2017 | #2360



Компьютерный форум 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




 
Переход