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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-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] - Скачать;


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

Отправлено: 03:49, 21-05-2012

 

Аватара для GoshaPolo

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


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

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


На мой вопрос выше никто ответа не знает?

Отправлено: 19:50, 01-06-2012 | #171



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

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


Аватара для Raf-9600

Старожил


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

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


GoshaPolo, если не ошибаюсь, нужно писать Root: HKCU; и без S-1-5-21-4202093143-4282819894-987643330-1006

Отправлено: 20:03, 01-06-2012 | #172


Аватара для GoshaPolo

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


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

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


Raf-9600, писал так, но при установке выдает ошибку, что не может прописать по такому пути

Отправлено: 20:41, 01-06-2012 | #173


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

Ветеран


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

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


Поделитесь пожалуйста алгоритмом сравнения нужной версии файла 50.6 через GetVersionNumbers(FilePath, VersionMSFile, VersionLSFile);
Причем VersionMSFile деятичный, а VersionLSFile - шестандцатеричный (т.е. msgbox показывает 50 327680 соответственно)

Заранее спасибо!

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


Отправлено: 21:20, 01-06-2012 | #174


Аватара для Sanshalay

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


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

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


Помогите пожалуйста убрать страницы "Меню пуск" и "Компоненты" правильно. Как не убираю, вылазит рантайм. Буду очень благодарен

Скрипт: http://clck.ru/d/zxAyJVzi19yFX

Отправлено: 22:32, 01-06-2012 | #175


Аватара для GoshaPolo

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


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

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


Sanshalay, мне тут выше отвечали на такой же вопрос

Вот ответ:
читать дальше »
Код: Выделить весь код
[Setup]

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

Отправлено: 23:26, 01-06-2012 | #176


Аватара для Sanshalay

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


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

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


GoshaPolo, ошибка вылазит:
Unrecognized [Setup] section directive "DisableSelectComponentsPage"

Отправлено: 23:44, 01-06-2012 | #177


Ветеран


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

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


Цитата Johny777:
в этом нет ничего неправильного? »
всё правильно
Цитата Johny777:
и вообще записывать через case правильнее (с точки зрения оптимизации)? »
Вопрос поставлен не верно, писать через case... или через if..., это скорее всего привычка написания, ну или кому как легче читать код. Конечно это только можно отнести только если использовать только одну проверку т.е. if ... then ... else, если таких проверок более двух, то удобнее на мой взгляд через case...

Цитата GoshaPolo:
На мой вопрос выше никто ответа не знает? »
HKCU\Software\...

Цитата R.i.m.s.k.y.:
Поделитесь пожалуйста алгоритмом сравнения нужной версии файла 50.6 через GetVersionNumbers »
Пример

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
SolidCompression=yes

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

[Code]
function InitializeSetup(): Boolean;
var
  VersionMS, VersionLS: Cardinal;
begin
  if GetVersionNumbers(ExpandConstant('{sys}\shell32.dll'), VersionMS, VersionLS) then
    MsgBox(IntToStr(VersionMS shr 16) + '.' +
           IntToStr(VersionMS and $FFFF) + '.' +
           IntToStr(VersionLS shr 16) + '.' +
           IntToStr(VersionLS and $FFFF),
           mbInformation, MB_OK);
end;

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

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

Отправлено: 23:47, 01-06-2012 | #178


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата Serega:
это скорее всего привычка написания, ну или кому как легче читать код. »
Внесу свою лепту, так сказать
Через case удобно и оптимально проверять сранение двух переменных, когда:
1) одну определенную переменную нужно сравнить с несколькими другими, и в зависимости от того, какой из других она равна - совершить соответствующее действие
2) когда одну переменную нужно сравнить с несколькими другими и совершить в нескольких случаях одно и тоже действие.
В обоих этих случаях плюсы ощутимы - начиная от читаемости кода, заканчивая его оптимальностью. но в плане оптимальности, нужно помнить - case of работает до первого положительного ответа. как только получен ответ - да, выполнение структуры прерывается, и если это недопустимо, то тут без вариантов - if...then...else...

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

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

Отправлено: 00:00, 02-06-2012 | #179


Аватара для GoshaPolo

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


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

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


Sanshalay, со страницей компонентов у меня тоже такой способ не прокатил

Вот такой вариант 100% получится. Пропиши эту функцию в секцию CODE
читать дальше »
Код: Выделить весь код
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if PageID = 7 then Result:= True;
if PageID = 8 then Result:= True;
end;


7 и 8 это ID страниц. Вот список всех страниц:
читать дальше »
Код: Выделить весь код
wpWelcome = 1;
wpLicense = 2;
wpPassword = 3;
wpInfoBefore = 4;
wpUserInfo = 5;
wpSelectDir = 6;
wpSelectComponents = 7;
wpSelectProgramGroup = 8;
wpSelectTasks = 9;
wpReady = 10;
wpPreparing = 11;
wpInstalling = 12;
wpInfoAfter = 13;
wpFinished = 14;


Serega, в том то и дело, что там не CURRENT USER, а в простой USERS надо записать. Если HKU\SOFTWARE прописывать, то выдает ошибку при установке, что записать такую строку не может в реестр. Или разницы нету между CURRENT USER и этой строкой в USERS? Но почему тогда они разделены на разные разделы?
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:16, 02-06-2012 | #180



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход