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

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

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

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

Ветеран


Contributor


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


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

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

 

Аватара для semiono

Ветеран


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

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


:D
секция files вроде бы работает на чек корректно, но секция registry работает на один раз, либо запишет и потом не удаляет либо наоборот
я пытался сам найти решение, даже написал две функции для Check для разных слкчаев))
что-то тут с логикой...

Может я непонятно задачу объяснил, мне надо чтобы инсталятор то записыва строку, то удалял при каждой новой установке.
Смысл в том чтобы ставить два разных обновленич, то новое, то старое

-------
Полезное сообщение


Отправлено: 22:21, 22-01-2017 | #1821



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

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


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

Ветеран


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

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


semiono, покажи уже скрипт

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

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

Отправлено: 22:22, 22-01-2017 | #1822


Аватара для semiono

Ветеран


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

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


Код: Выделить весь код
    [Setup]
    AppName=!
    AppVerName=! 0.0.0.0
    DefaultDirName={pf}\!
    OutputDir=.
    OutputBaseFilename=!
     
     
    [Co.de]
    function x(): Boolean;
    begin
      if RegValueExists(HKCU, 'Software\a', 'b') then
      begin
      Result := true
      end
      else
      begin
      Result := false
      end
    end;
     
     
    [Registry]
    ; x
    Root: HKCU; Subkey: "Software\aaaa"; ValueType: none; ValueName: "b"; Flags: deletevalue noerror; Permissions: everyone-full; Check: x
    ; not x
    Root: HKCU; Subkey: "Software\aaaa"; ValueType: string; ValueName: "b"; ValueData: "0"; Flags: noerror; Permissions: everyone-full; Check: x
     
    [Files]
    Source: "1.TXT"; DestDir: "{sd}"; Check: x
    Source: "2.TXT"; DestDir: "{sd}"; Check: not x
Всё работает верно, первый инстал реагирует первая строка, второй инстал вторая строка, а потом уже только вторая...
Не получается, чтобы инстал изменял будущее условие в СИСТЕМЕ

-------
Полезное сообщение


Последний раз редактировалось semiono, 23-01-2017 в 12:33.


Отправлено: 22:28, 22-01-2017 | #1823


Аватара для semiono

Ветеран


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

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


Код: Выделить весь код
function x(): Boolean;
begin
  if RegValueExists(HKCU, 'Software\a', 'b') then
  begin
  RegDeleteValue(HKCU, 'Software\a', 'b')
  end
  else
  begin
  Result := false
  end
end;

function y(): Boolean;
begin
  if RegValueExists(HKCU, 'Software\a', 'b') then
  begin
  RegWriteStringValue(HKCU, 'Software\a', 'b', '0')
  end
  else
  begin
  Result := true
  end
end;

[Registry]
Root: HKCU; Subkey: "Software\a"; ValueType: string; ValueName: "b"; Flags: deletevalue noerror; Permissions: everyone-full; Check: not y

Root: HKCU; Subkey: "Software\a"; ValueType: string; ValueName: "b"; ValueData: "0"; Flags: noerror; Permissions: everyone-full; Check: not x

[Files]
Source: "1.TXT"; DestDir: "{sd}"; Check: x
Source: "2.TXT"; DestDir: "{sd}"; Check: y

-------
Полезное сообщение


Отправлено: 12:51, 23-01-2017 | #1824


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

Ветеран


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

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


semiono, УМВР все работает в первом варианте

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

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

Отправлено: 12:56, 23-01-2017 | #1825


Аватара для semiono

Ветеран


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

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


Там, кстати, ошибка Software\aaaa и в коде Software\a

-------
Полезное сообщение


Отправлено: 13:08, 23-01-2017 | #1826


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

Ветеран


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

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


semiono, я поправил конечно, еще MSGBox понатыкал для дебага - работает

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

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

Отправлено: 13:10, 23-01-2017 | #1827


Аватара для semiono

Ветеран


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

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


Скрытый текст

1. В реестре ничего нет. Каждый инстал один и тот же результат.

Скрытый текст

2. В реестре b REG_SZ записанный вручную
Но! При повторном инстале будет возврат к первому скриншёту и далее постоянно один результат.

Кстати, было бы хорошо перед else выполнить EXIT или GO TO, но как это сделать в паскале непонятно.

-------
Полезное сообщение


Последний раз редактировалось semiono, 23-01-2017 в 13:24.


Отправлено: 13:17, 23-01-2017 | #1828


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

Ветеран


Contributor


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

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


Цитата semiono:
1. В реестре ничего нет. Каждый инстал один и тот же результат. »
semiono,
Скрытый текст

Код: Выделить весь код
[Registry]
Root: HKCU; Subkey: "Software\aaaa"; ValueType: string; ValueName: "bbbb"; ValueData: "cccc"; Permissions: everyone-full; Check: NeedValue('bbbb')

[Code]
/////////////////////////////////////////////////
function NeedValue(const Value: string): Boolean;
begin
  Result := not RegValueExists(HKCU, 'Software\aaaa', Value);
  if not Result then
    RegDeleteValue(HKCU, 'Software\aaaa', Value);
end;

Цитата Alloc:
Понадобилось написать dll библиотеку на Delphi, что бы прикрутить ее к Inno Setup.
Столкнулся с проблемой.
Получаю Access Violation...
Как правильно передать строку из функции в приложение Inno Setup? »
Alloc, изучить, понять, написать заново.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:03, 24-01-2017 | #1829


Забанен


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

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


ребята как убрать вот это

Отправлено: 20:45, 24-01-2017 | #1830



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




 
Переход