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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для valyok666

Старожил


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

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


Devils Night, Зимний инсталл под новый год

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 00:06, 11-10-2011 | #3511



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

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


Аватара для nik1967

Старожил


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

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


Цитата Devils Night:
Интересует вопрос:
Как сделать вот что, идёт запуск инсталятора, инсталятор проверяет наличие трёх файлов 1.exe, 2.dll, 3.ocx в папке C:\Program Files\MyProg и наличие ключа в реестре HKEY_LOCAL_MACHINE\SOFTWARE\MyProg (в этом ключе есть ещё ветки, ну это не важно, главное HKEY_LOCAL_MACHINE\SOFTWARE\MyProg), суть в том что, если инсталятор это всё обнаруживает, то продолжаются дальнейшие действия, если нет, то выводит окно с сообщением типа "не найдены необходимые компоненты", и при нажатии ОК инсталятор закрывается, возможно ли такое сделать? »
А почему нет?
Код: Выделить весь код
[Setup]
AppName=MyProg
AppVerName=MyProg
DefaultDirName={pf}\MyProg

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[_Code]
function InitializeSetup: Boolean;
begin
    Result:=true;
  if not ((RegKeyExists(HKLM, 'SOFTWARE\MyProg')) 
    and (FileExists('C:\Program Files\MyProg\1.exe')) 
    and (FileExists('C:\Program Files\MyProg\2.dll')) 
    and (FileExists('C:\Program Files\MyProg\3.ocx'))) 
then 
begin
    MsgBox('Не найдены необходимые компоненты.', mbInformation, MB_OK);
    Result:=false; 
  end;
end;

Только этот пример будет работать, если точно известно местонахождение MyProg и ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\MyProg.
Если MyProg установлено в другом месте и если используется х64 винда, нужен другой пример

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


Последний раз редактировалось nik1967, 11-10-2011 в 15:04.

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

Отправлено: 09:51, 11-10-2011 | #3512


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата nik1967:
и если используется х64 винда, нужен другой пример »
Вовсе нет. Инно сама определит разрядность и подставит подключ в проверке, это она умеет

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

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

Отправлено: 13:42, 11-10-2011 | #3513


Аватара для Sotonisto

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


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

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


Всем доброго времени суток!
Мне нужен простенький скрип (можно и с доп. dll), котрый при нажатии (не при наведении, а именно нажатии) на кнопку в обычном инсталляторе воспроизводил указаный звук (например, какой-то click.wav и пр.) и больше ничего. Как я уже говорил, хочется простой (насколько это можно) скрипт. Заранее благодарен.

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.


Отправлено: 14:00, 11-10-2011 | #3514


Аватара для nik1967

Старожил


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

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


Лександер, Саша, я про C:\Program Files (х86) и просто C:\Program Files в х64

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


Отправлено: 14:42, 11-10-2011 | #3515


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата nik1967:
Саша, я про C:\Program Files (х86) и просто C:\Program Files в х64 »
Это инно, тоже умеет Хотя - идеальны вариант - сделать классически - проверять ветку реестра, брать из нее путь до папки установки, и проверять в ней наличие нужных файлов. В скрипте Юршата так и сделано.

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

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

Отправлено: 15:05, 11-10-2011 | #3516


Аватара для valyok666

Старожил


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

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


Sotonisto, Вот держи там пример

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Последний раз редактировалось valyok666, 11-10-2011 в 15:21.

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

Отправлено: 15:13, 11-10-2011 | #3517


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

Ветеран


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

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


Devils Night
Цитата nik1967:
Только этот пример будет работать, если точно известно местонахождение MyProg и ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\MyProg.
Если MyProg установлено в другом месте и если используется х64 винда, нужен другой пример »
там не другой пример, там проверка isWin64 и ключи реестра разные могут быть, надо смотреть конкретную прогу, ключи могут быть в 64-х разрядном разделе HKLM64, или в подразделе syswow64, см пример пониже. Но одновременно hklm64\syswow64 быть не может, это я для затравки написал

Код: Выделить весь код
[Setup]
AppName=MyProg
AppVerName=MyProg
DefaultDirName={pf}\MyProg

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[_Code]
function InitializeSetup: Boolean;
begin
    Result:=true;
if not iswin64 the begin
  if not ((RegKeyExists(HKLM, 'SOFTWARE\MyProg')) 
    and (FileExists('C:\Program Files\MyProg\1.exe')) 
    and (FileExists('C:\Program Files\MyProg\2.dll')) 
    and (FileExists('C:\Program Files\MyProg\3.ocx'))) 
then 
begin
    MsgBox('Не найдены необходимые компоненты.', mbInformation, MB_OK);
    Result:=false; 
  end;
end; //not iswin64
if iswin64 the begin
  if not ((RegKeyExists(HKLM64, 'SOFTWARE\SYSWOW64\MyProg')) 
    and (FileExists('C:\Program Files\MyProg\1.exe')) 
    and (FileExists('C:\Program Files\MyProg\2.dll')) 
    and (FileExists('C:\Program Files\MyProg\3.ocx'))) 
then 
begin
    MsgBox('Не найдены необходимые компоненты.', mbInformation, MB_OK);
    Result:=false; 
  end;
end; //iswin64
end;

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

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

Отправлено: 15:17, 11-10-2011 | #3518


Аватара для nik1967

Старожил


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

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


Да знаю я, парни. Я про ЭТО: FileExists('C:\Program Files\MyProg\1.exe')
А если прога установлена в D:\Program Files\MyProg?
На счёт этого Саша верно писал:
Цитата:
Хотя - идеальны вариант - сделать классически - проверять ветку реестра, брать из нее путь до папки установки, и проверять в ней наличие нужных файлов.
Цитата:
брать из нее путь до папки установки
А еже ли нет пути установки?

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


Последний раз редактировалось nik1967, 11-10-2011 в 16:25.


Отправлено: 16:04, 11-10-2011 | #3519


Забанен


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

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


Цитата nik1967:
А почему нет?
Только этот пример будет работать, если точно известно местонахождение MyProg и ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\MyProg. »
Да, именно так и должно быть.
R.i.m.s.k.y., ну вобще мне на X86 было нужно. Но это даже лучше.
nik1967, R.i.m.s.k.y., Спасибо вам огромное ребят .

Цитата nik1967:
А если прога установлена в D:\Program Files\MyProg? »
Да всё равно где она установлена, главное чтобы находились файлы 1.exe, 2.dll, 3.ocx, хотя файлы могут быть другими и наличие пути с файлами может быть C:\WINDOWS\system32.

Цитата nik1967:
Хотя - идеальны вариант - сделать классически - проверять ветку реестра, брать из нее путь до папки установки »
Вот это как раз и ненужно, проверка только ключа, даже если он пуст, т.е в HKEY_LOCAL_MACHINE\SOFTWARE\MyProg нет не каких параметров и дополнительных веток, самое главное только наличие HKEY_LOCAL_MACHINE\SOFTWARE\MyProg.

P.S Проверил, работает так как нужно, т.е если отсутствует хотя бы один компонент, то установка не продолжается.
В общем вопрос решён.

Отправлено: 17:04, 11-10-2011 | #3520



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход