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

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

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

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

Ветеран


Contributor


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


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

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

 

Аватара для MogilShik2007

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


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

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


Такс, сначала:
интересует - функции этих строк, для чего они:
Source: {win}\help\; - вызывается справка оттуда или что?
Source: "calc.exe"; - проверка хешей или наподобии?

Цитата Nordek:
в этом вы сильно ошибаетесь. Flags ещё как вас интересует, только вы сами об этом даже не подозреваете.
Кстати, Flags играет не малую роль. »
По флагам повторяюсь вопросов не было, и так понятно, что используются и где используются.

Цитата jack_nuclear:
MogilShik2007, вам дали ссылку на справку, где описывается ваш вопрос. Впадлу читать? Идите лесом тогда...
Котярко спасибо за скрипт прошлый. Все работает. Не обращай внимание на неадекватов »
Ты коней осади, помогли с кодом вали дальше, и не хами тут.

Отправлено: 08:03, 27-02-2015 | #211



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

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


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


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

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


Друзья, помогите разобраться с задачей.

Мне нужно записать в реестр несколько значений. Заранее количество значений не известно и будет вычисляться на этапе выполнения.
Для реализации задачи я применяю пользовательский макрос с директивой #for:
Код: Выделить весь код
#for {i = 1; i <= count; i++} _GetAutoLoad
Возник вопрос: можно ли пробросить переменную из секции [code] в директиву #for пользовательского макроса?
Цель: количество итераций цикла должно быть не константой, заданной на этапе компиляции, а переменной, вычисляемой в коде в InitializeWizard.
В моём случае для переменной count нужно присвоить значение переменной GlobalCount.
Пытался в скрипте указать такую конструкцию: #define count {#GlobalCount}, но конечно не прошло.

Выборка из скрипта:

Код: Выделить весь код
[Registry]
#define i
#define count {#GlobalCount}

#sub _GetAutoLoad
Root: HKCU; Subkey: {code:GetAutoload|{#i}}
#endsub

#for {i = 1; i <= count; i++} _GetAutoLoad


/////////////////////////////////////////////////
[ Code]
  const
    MapInfoPath = 'SOFTWARE\MapInfo\MapInfo\Professional\';
  var
    GlobalCount : integer;
function GetAutoload(Param : string) : string;
begin
  Result := MapInfoPath + 'FLD-' + Param;
end;
procedure InitializeWizard;
begin
  // Тут вычисляется значение для переменной GlobalCount
  GlobalCount := XYZ;
end;

Отправлено: 08:06, 27-02-2015 | #212


SHVtYW4=


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

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


Цитата MogilShik2007:
вызывается справка оттуда или что? »
Вообще да, в С:\Windows\Help - Расположена справочная информация.
Для примера: Диспетчер устройств - "C:\Windows\Help\mui\0419\devmgr.CHM"

Цитата MogilShik2007:
проверка хешей или наподобии? »
Т.е
Код: Выделить весь код
[Files]
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs
Source: "calc.exe"; DestDir: "{app}"; DestName: nfs.exe; Flags: external
Скопировать: Содержимое из "C:\Windows\Help" и файл калькулятора из "C:\Windows\System32\" в назначенную папку и запустить оттуда? Радикальное решение! Таковое действие можно обозначить как человеческой тупостью.

Выполнение возможно без копирования:
Код: Выделить весь код
[Run]
Filename: {sys}\calc.exe; Flags: skipifdoesntexist postinstall nowait; Description: "Открыть ""Калькулятор""."
Filename: {win}\Help\mui\0419\devmgr.CHM; Flags: skipifdoesntexist postinstall shellexec nowait; Description: "Открыть справку по ""Диспетчеру устройств""."

Цитата MogilShik2007:
функции этих строк, для чего они »
Скорее для примера представлено, т.е показать наглядно что скрипт работает.

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


Последний раз редактировалось Nordek, 27-02-2015 в 09:13.

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

Отправлено: 09:06, 27-02-2015 | #213


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


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

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


Цитата Nordek:
Могу задать аналогичный встречный вопрос: Впадлу воспользоваться поиском? Результат: #265.
Не думайте что вы от других чем-то отличаетесь. »


А этот пост к чему? Сначала смотри кто спрашивал, лол xD Ники не перепутал? Я вроде не ValeraVentor@fb

Да. Отличаюсь. Я наизусть знаю справку и не спрашиваю то. что в ней написано, как 99% пользователей

MogilShik2007
А ты еще задай тупейший вопрос, который написан в первых двух предложениях справки. Меня такие люди поражают своей безмозглостью.

Отправлено: 09:11, 27-02-2015 | #214


SHVtYW4=


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

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


jack_nuclear, #1009

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


Отправлено: 09:37, 27-02-2015 | #215


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


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

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


Nordek, Ай-ай-ай. Это опять не то, что я спрашивал. Перед тем, как пытаться вы*бнутся - надо быть уверенным на все 100%

котярко меня понял и кинул ссылкой на правильную реализацию. Я задавал конкретный вопрос под конкретные задачи, а не "дайте мне реализацию звуков в компонентах" + Вы дали ссылку на "говнокод". Реализация ужасная.

Ваши 2 попытки не удались. Третья будет?

Последний раз редактировалось jack_nuclear, 27-02-2015 в 09:53.


Отправлено: 09:48, 27-02-2015 | #216


SHVtYW4=


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

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


Цитата jack_nuclear:
А ты еще задай тупейший вопрос »
Какой тупой вопрос?
Вот этот? »
Цитата MogilShik2007:
интересует - функции этих строк, для чего они:
Source: {win}\help\; - вызывается справка оттуда или что?
Source: "calc.exe"; - проверка хешей или наподобии? »
jack_nuclear, Задайте себе вопрос: "Смогли его объяснить?".
На сколько я понял, MogilShik2007 - а интересовало зачем применили подобное:
Код: Выделить весь код
[Files]
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs
Source: "calc.exe"; DestDir: "{app}"; DestName: nfs.exe; Flags: external
и для каких целей.
Что однозначно ясно: Для примера, но не для последующего исполнения.
Цитата jack_nuclear:
Меня такие люди поражают своей безмозглостью. »
Не буду показывать пальцем и переходить на личности, но о написанном предложении направленное другому человеку, стоит думать: что то предложение больше относится тому, кто его написал.

jack_nuclear, Научитесь цитировать.

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


Последний раз редактировалось Nordek, 27-02-2015 в 10:13.

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

Отправлено: 09:58, 27-02-2015 | #217


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


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

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


Цитата Nordek:
Не буду показывать пальцем и переходить на личности, но о написанном предложении направленное другому человеку, стоит думать: что то предложение больше относится тому, кто его написал. »


Видимо вы из той же партии. Ну сидите-сидите. Объясняйте друг другу справку (да-да. Справка -> Files и там написано что к чему) раз вы только на это способны. Люди хотят ремонтировать двигатель, но инструментов в глаза не видели. Человек не понимает азов (что вообще делает Files -> Source) и не читает справку

+Если не знаешь зачем, но есть пример - скомпилируй и нечего форум засорять тупейшими вещами. Я за 8 закрытых тем первый раз обратился с умным вопросом. В первых темах люди были умней. Деградируете. Объяснять справку!! ахаха))

Цитата Nordek:
jack_nuclear, Научитесь цитировать. »
С телефона? Пожалуйста, перестаньте умничать. Смотритесь жалким, когда в 5-ый раз не получается

Последний раз редактировалось jack_nuclear, 27-02-2015 в 10:19.


Отправлено: 10:04, 27-02-2015 | #218


Аватара для MogilShik2007

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


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

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


Цитата jack_nuclear:
MogilShik2007 А ты еще задай тупейший вопрос, который написан в первых двух предложениях справки. Меня такие люди поражают своей безмозглостью. »

Глаза помой, походу долбишься в них постоянно, если ума не хватает понять вопроса - помалкивай.
Nordek вопрос понял, объяснил, а ты сидишь тут вые..ваешсься.

Так с этим разобрались, что по поводу первой части вопроса про реализацию DX?

Отправлено: 10:56, 27-02-2015 | #219


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


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

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


Цитата MogilShik2007:
Так с этим разобрались, что по поводу первой части вопроса про реализацию DX? »


Это описано в СПРАВКЕ, долбень. Мне хватает мозгов, что б написать инсталл в 1500 строк, а ты сиди на примерах с инета. По поводу DX смотри в справке и примерах с [Run] или для твоего начального уровня - напиши батник на запуск 2 екзешников типо такого

@ECHO OFF
START "" /WAIT Setup1.exe
START "" Setup2.exe

и запускай через него компонент. Примеров в инете куча (проверил гуглением). Дерзай

Этот вопрос не тупой и тут надо хоть что-то знать, поэтому ответил.

Для "умных" - я дал самую простую реализацию. Можно и в компоненты добавить, но с задержкой придется мучатся или через exec (лучший вариант)

Примеры:
Exec('шляпа.exe', 'параметры', 'C:\путь', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); //тебе нужен ewWaitUntilTerminated

функция:
function Exec(const Filename, Params, WorkingDir: String; const ShowCmd: Integer; const Wait: TExecWait; var ResultCode: Integer): Boolean;

Последний раз редактировалось jack_nuclear, 27-02-2015 в 12:13.


Отправлено: 11:54, 27-02-2015 | #220



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




 
Переход