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

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

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

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

Ветеран


Contributor


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


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

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


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



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

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

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


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

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


Теперь встал вопрос, как закрывать Стим перед удалением, если ставилась версия именно для Стим. В деинсталяторе не работает IsComponentSelected. Как еще проверить можно? Желательно без записей в реестр, если возможно.
Единственное, что приходит мне на ум, это проверять на наличие файла, специфичного только для Стим версии.

Последний раз редактировалось EdMSL, 09-10-2022 в 18:34.


Отправлено: 18:11, 09-10-2022 | #831



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

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


Аватара для Vanadiy777

Ветеран


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

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


Цитата EdMSL:
Теперь встал вопрос, как закрывать Стим перед удалением, если ставилась версия именно для Стим. »
EdMSL,
не совсем задача понятна...
Так не пойдет?
Скрытый текст
Код: Выделить весь код
[_code]

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
i: integer;

begin
  if CurUninstallStep = usUninstall then
   begin
    if IsProcessRunning('Steam.exe') then
     Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM Steam.exe', '', SW_HIDE, ewWaitUntilTerminated, i);
   end;
end;

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...


Отправлено: 23:33, 09-10-2022 | #832


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


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

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


Vanadiy777, Поясню. Этот код будет всегда закрывать Стим, когда моя сборка удаляется. Но сборка имеет две версии, стим и нестим. А определяется это на этапе установки сборки путем выбора компонента [Components]. В итоге хотелось бы, чтобы закрывался стим только тогда, когда пользователь установил именно стим версию сборки. Но, как я написал, IsComponentSelected недоступен при удалении, его я использую для определения, закрывать ли стим при установке. В общем, нужно что-то вроде
Код: Выделить весь код
if IsComponentSelected('type\steam') and IsProcessRunning('Steam.exe') then
...
но для деинсталятора.

Отправлено: 11:02, 10-10-2022 | #833


Аватара для Vanadiy777

Ветеран


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

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


Цитата EdMSL:
А определяется это на этапе установки сборки путем выбора компонента [Components]. »
EdMSL,
Возможно, предложу сейчас полную херь...
При установке программы с выбором компонентов в разделе Uninstall Вашей программы прописывается строковый параметр
Inno Setup: Selected Components, и там должны быть указаны установленные компоненты.
Можно попробовать через RegQueryStringValue считать значение и добавить его в условия при удалении.

Но, полный синтаксис не подскажу, не пользовался...
Буду тоже очень признателен, если коллеги подскажут.

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...

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

Отправлено: 23:13, 10-10-2022 | #834


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


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

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


Vanadiy777, да, можно попробовать этот способ. Правда, если пользователь установит сборку повторно, не удалив предыдущую (а это не запрещено, так как сборка автономная), то предыдущая информация затрется новой. Не так критично, но есть такой нюанс.

В общем, написал такое условие:
Код: Выделить весь код
if 
  (CurUninstallStep = usUninstall)
  and RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{ADF6076C-BDF7-4515-8D60-17F9DBAD5B41}_is1', 'Inno Setup: Selected Components', Value)
  and (Pos('type\steam', Value) > 0)
  and IsProcessRunning('Steam.exe') then
    closeSteam()
Вроде работает.

Последний раз редактировалось EdMSL, 11-10-2022 в 17:35.


Отправлено: 16:42, 11-10-2022 | #835


Аватара для Vanadiy777

Ветеран


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

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


Цитата EdMSL:
если пользователь установит сборку повторно, не удалив предыдущую (а это не запрещено, так как сборка автономная), »
EdMSL,
а если запретить повторную установку, пока не удалена старая версия? Не пойдет так?
Что нибудь типа такого:
Скрытый текст
Код: Выделить весь код
[_Code]
function InitializeSetup(): Boolean;
begin
  Result:= True;
   if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProg_is1') then begin
     MsgBox('Для продолжения необходимо удалить старую версию программы', mbError, MB_OK);
  Result:= False;
  end;
end;

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...

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

Отправлено: 17:06, 11-10-2022 | #836


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


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

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


Vanadiy777, В принципе, можно и запретить. Возможно это даже полезно будет. Подумаю. За код спасибо, пригодится.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:57, 11-10-2022 | #837


Аватара для Vanadiy777

Ветеран


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

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


Коллеги, всем доброго времени суток!
Помогите решить проблему...
При запуске и отработке программы на редакции Windows 7 Home Basic выскакивает стандартное окно перезагрузки,
т.е. FinishedPage, хотя это все отключено...

Это происходит только на редакции Windows 7 Home Basic, на остальных редакциях Windows 7-11, все отрабатывает нормально.

Возможно ли как-то принудительно "удавить" это окно на Windows 7 Home Basic?
Версия Inno Setup 6.0.5, но пробовал и на 5.6.1
Результат один и тот же...

Подскажите, пожалуйста, кто знает...
За ранее, спасибо.

UPD: Решение найдено, всем спасибо.

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...


Последний раз редактировалось Vanadiy777, 27-10-2022 в 00:38. Причина: Решение найдено


Отправлено: 20:19, 11-10-2022 | #838


Забанен


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

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


Как правильно прописать выбор нужной разрядности при инсталляции.
Может кто знает ?

Отправлено: 17:48, 14-10-2022 | #839


Аватара для Vanadiy777

Ветеран


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

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


Цитата serg5:
Как правильно прописать выбор нужной разрядности при инсталляции. »
serg5,
разрядности чего?

Если файлов, то как то так:
Код: Выделить весь код
[Files]
Source: "{app}\File,1.exe"; DestDir: "{app}"; DestName: "File.exe"; Check: "IsWin64"; Flags: ignoreversion
Source: "{app}\File,2.exe"; DestDir: "{app}"; DestName: "File.exe"; Check: "not IsWin64"; Flags: ignoreversion

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...

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

Отправлено: 18:20, 14-10-2022 | #840



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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




 
Переход