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

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

 

Аватара для Dodakaedr

Ветеран


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

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


Цитата Beavimo:
но в реестре, в конце пути стоит символ {;} как его удалить? »
Цитата Beavimo:
а еще лутше так
C:\Program Files (x86)\Internet Explorer
тоисть удалить все что идет посте последнего \ »
используйте функции Copy и ExtractFilePath
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
procedure InitializeWizard();
var
  s: string;
begin
  s := 'Path=C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE;';
  s := Copy(s, 0, Length(s)-1);
  s := RemoveBackslash(ExtractFilePath(s));
  MsgBox(s, mbInformation, MB_OK);
end;

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


Последний раз редактировалось Dodakaedr, 18-02-2020 в 07:18.

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

Отправлено: 22:49, 17-02-2020 | #561



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Beavimo, самое простое, использовать в такой ситуации функцию
Код: Выделить весь код
ExtractFilePath(const FileName: string):string
Она отсекает с хвоста все до первого слеша.
Код: Выделить весь код
ExtractFilePath(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE,Path}'));
даст на выходе C:\Program Files (x86)\Internet Explorer\
Если нужно без косой черты, то ExtractFileDir - она возвращает тоже самое, но без слеша

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 00:03, 18-02-2020 | #562


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


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

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


наконец то......... целую ночь провозился, с этой кажись - такой мелочью.

CODE
Код: Выделить весь код
[Setup]
AppName=TEST1 
AppVerName=TEST2 
OutputDir=userdocs:..\desktop
CreateAppDir=no
Uninstallable=no

[*Code]
function InitializeSetup(): Boolean; var 
    FileName: String;  
  begin
    FileName:=ExtractFilePath(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE,Path}'));
      if not FileExists((FileName)+('Internet Explorer\iexplore.exe')) then
    Result:=True
  else
    MsgBox((FileName)+'Internet Explorer' #13''#13 'Папка  Установки  При  Обновлении !', mbInformation, MB_OK);
end;

[Files]
//Source: "userdocs:..\desktop\TEST.exe"; DestDir: "{app}"; Flags: ignoreversion


Теперь другов вопрос, как его этот путь "(FileName)+'Internet Explorer'", сохранить в например в дириктиву #define, или например в {app} неважно куда и как важно чтобы в (DestDir) каталог установки брался автоматом, так как пишеться апдейт а не полноценный софт.

Последний раз редактировалось Beavimo, 18-02-2020 в 10:19.


Отправлено: 04:43, 18-02-2020 | #563


Аватара для nik1967

Старожил


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

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


Beavimo,
Код: Выделить весь код
DefaultDirName={code:ExtractFilePath|{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE,|}}

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

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

Отправлено: 12:14, 18-02-2020 | #564


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


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

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


Привет. что я делаю не так? Помогите новичку. Винда 10-64

Код: Выделить весь код
Root: HKLM; SubKey: SOFTWARE\Boris FX, Inc.\Boris Graffiti 6.6; ValueType: string; ValueName: DefaultLibraryPath; ValueData: {pf64}\Boris FX, Inc\Keyframe Libraries 6; Flags: uninsdeletevalue uninsdeletekeyifempty
а прописывается в
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\WOW6432Node

Спасибо.

Отправлено: 16:27, 20-02-2020 | #565


Аватара для habib2302

Ветеран


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

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


VLADEV, Замените HKLM на HKLM64

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

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

Отправлено: 16:52, 20-02-2020 | #566


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


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

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


habib2302,

Спасибо я конечно это сделал. я использовал конвертер реестра Converter.exe
и он не проставляет мне HKLM64 Вот я и не понял почему .

Отправлено: 22:38, 20-02-2020 | #567


Старожил


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

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


Цитата VLADEV:
и он не проставляет мне HKLM64 Вот я и не понял почему . »
А откуда ему знать, какая разрядность у целевой системы и программы, которой эти ветки реестра предназначаются?

Там, где предполагается несовпадение разрядности программы и системы, пути в реестре и на диске надо самому проверять.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:22, 20-02-2020 | #568


SHVtYW4=


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

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


Цитата VLADEV:
а прописывается в
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\WOW6432Node »
Меня всегда интересовал вопрос о тех, кто задаёт похожие или одни и теже вопросы: Есть ли у людей логика, или всё-таки как класс она отсутствует?
1. Справка (Пожалуй это самое важное правило.).
2. Поиск (Это самое важное правило после первого пункта).

Далее:
Совсем недавно было: Сообщение #487.

Далее:
Цитата VLADEV:
я использовал конвертер реестра Converter.exe »
Действительно ли вам Converter так необходим?
Читайте сообщение #530 о Inno Script Studio.


Работа с Inno Script Studio:
Вам нужно импортировать данные реестра.

Экспортируете необходимый подраздел реестра из RegEdit сохранив в файл *.reg.

Открываете Inno Script Studio, или скрипт в нём.

Переводите фокус на Registry и щёлкаете по нему левой кнопкой мыши.
Вы в секции Registry:


Далее щёлкаете левой кнопкой мыши по подготовленному файлу *.reg и не отпуская кнопки перетаскиваете в область Registry:


Замечательно, данные импортировались:





Вам нужно изменить список строк.

Делаете как я (Делаю везде где только вздумается, не только в Inno):

Выделяете необходимые данные для копирования:

Нажимаете комбинацию клавиш CTRL+C чтоб скопировать выделенное.

Переводите фокус к началу первой строки:


Нажимаете комбинацию клавиш CTRL+H чтоб начать работу с заменой текста.

В первом поле вставляете (CTRL+V) скопированный текст, который будет заменён:


Во втором вводите данные для замены:


Щёлкаете клавишу Replace All чтоб заменить все заданные условия:


затем подтверждаете щёлкнув клавишу All:


Как видите необходимые данные были заменены:

Эти данные в 64-разрядной ОС будут внесены в WOW6432Node.





Для x64 аналогично.

Выделяете необходимые данные для копирования:

Нажимаете комбинацию клавиш CTRL+C чтоб скопировать выделенное.

Переводите фокус не к началу как ранее, а куда-нибудь в коментарии:


Нажимаете комбинацию клавиш CTRL+H чтоб начать работу с заменой текста.

В первом поле вставляете (CTRL+V) скопированный текст, который будет заменён:


Во втором вводите данные для замены:


Щёлкаете клавишу Replace All чтоб заменить все заданные условия:


затем подтверждаете щёлкнув клавишу All:


Как видите и в этом случае необходимые данные были заменены:


Всё, теперь вы умеете импортировать *.reg и заменять некорректные данные на необходимые!
Хочу заметить: Всё в одной программе.

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

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

Отправлено: 02:41, 21-02-2020 | #569


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


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

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


Nordek, Низкий поклон. Голова пока кипит ))) Взял на вооружение. Никаких конвертеров теперь

Отправлено: 22:07, 21-02-2020 | #570



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




 
Переход