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

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

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

Аватара для 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] - Скачать;


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

Отправлено: 19:06, 28-03-2013

 

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


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

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


Есть вопрос:

В теме уже научился создавать описание и картинку при наведении мышки на компонент... а можно ли воспроизводить звуки при наведении на некоторые компоненты?

Отправлено: 13:39, 01-11-2013 | #1391



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

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


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


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

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


Уважаемые форумчане! Очень нужна ваша помощь...
Я разработчик Mod Pack Alexxx-DAR для игры World Of Tanks!
У меня есть несколько вопросов... Помогите кто знает!

01. Как сделать так, чтобы мой установщик автоматически находил местоположение игры, тоесть сам прописывал путь к папке World Of Tanks ???
02. Как сделать так, чтобы установщик копировал папку audio из папки World Of Tanks/res в папку World Of Tanks/res_mods/0.8.9 ???
03. Как сделать так, чтобы в окне выбора модов, при наведение на какой либо мод, высвечивалось описание мода и маленький скриншот ???
04. Как сделать так чтобы установщик автоматически очищал папку res_mods ???
05. Как сделать так, чтобы при запуске установщика открывалось окно с описанием мод-пака (По умолчанию у меня открывается "Вас приветствует мастер установки", Далее открывается "Выберите папку с игрой") Как между ними вставить окно с описанием модов ???

Подобные установщики есть у таких мододелов как Jove: http://www.youtube.com/watch?v=5RfUHG5Ptxc
и ExPromt: http://www.youtube.com/watch?v=ikVnr8r6ELs#t=147

Мой же установщик, который мне нужно доработать можно скачать и посмотреть отсюда: http://yadi.sk/d/aJ4UyBdRBsauc

Последний раз редактировалось alexxxdar@vk, 01-11-2013 в 15:35.


Отправлено: 15:06, 01-11-2013 | #1392


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


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

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


Всем доброго времени суток!
Подскажите плиз, а можно на форме типа TInputQueryWizardPage добавленное текстовое поле сделать недоступным для редактирования? Или для этого свою форму рисовать придется?

Отправлено: 20:03, 01-11-2013 | #1393


Аватара для nik1967

Старожил


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

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


Shkutu, ну у TInputQueryWizardPage есть свойство Edits[Index: Integer]: TPasswordEdit, у которого, в свою очередь, есть свойство ReadOnly: Boolean - только чтение. Вроде так.

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

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

Отправлено: 21:06, 01-11-2013 | #1394


Аватара для ATTACUE

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


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

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


Доброго времени суток.
Взял код авторана на Inno Setup отсюда
читать дальше »
сообщение от Gnom_aka_Lexander, сцитировать не могу, так как тема закрыта

Добавил секцию [CustomMessages] на два языка - rus и eng.
Секция [Languages] соответственно тоже имеется.
В секции [code] подписи имен файлов (Caption) через cm:MyButtomName тоже сделал.
Проблема в следующем:
Хочу добавить две кнопки - rus и eng, чтобы по их нажатию интерфейс переключался на русский и английский соответственно.
То есть реализация ShowLanguageDialog=yes, только через кнопки
или хотя бы как изменить текст, который отображается при выборе языка установки:
Выберите язык, который будет использован в процессе установки
На просто - выберите язык, так как по крайней мере реализация через ShowLanguageDialog работает, но выглядит не совсем так, как хотелось.
читать дальше »
Код: Выделить весь код
procedure EngButtonClick(Sender: TObject);
begin
// голову сломал, не знаю как реализовать
end;

Кто что посоветует?

Последний раз редактировалось ATTACUE, 02-11-2013 в 22:31.


Отправлено: 22:02, 02-11-2013 | #1395


Аватара для ATTACUE

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


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

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


alexxxdar@vk,

1) через реестр
[Setup]
DefaultDirName={reg:HKLM\SOFTWARE\Название_Игры,InstallPath}
Только заранее свои ключи к игре проверить

2) Как-то так (если я правильно понял)
[Files]
Source: "Audio\Звуковой_файл_1.wav"; DestDir: "{app}\Папка_Куда_Копируем\"; DestName: "Новое_имя_1.wav";
Можно DestName (переименование) не использовать

3) не знаю

4) в секции [code] нужно как-то применить следующее, как именно не знаю, но копать отсюда:
RemoveDir(ExpandConstant('{app}\Название_удаляемой_папки'));

5) Можно само описание добавить как-то так:
[Setup]
InfoBeforeFile=info.txt
Рядом со скриптом создается info.txt и в нем пишется все, что душе угодно, в процессе установки высвечивается.

Иных способов в голову не приходит. Надеюсь помог)

-------
Close the world, Open the nExt.


Отправлено: 22:56, 02-11-2013 | #1396


Аватара для nik1967

Старожил


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

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


Цитата ATTACUE:
или хотя бы как изменить текст, который отображается при выборе языка установки:
Выберите язык, который будет использован в процессе установки »
пример
Код: Выделить весь код
[setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}
ShowLanguageDialog=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Name: eng; MessagesFile: compiler:Default.isl

[Messages]
; Русский
rus.SelectLanguageTitle=Выберите язык
rus.SelectLanguageLabel=Выберите язык:

; English
eng.SelectLanguageTitle=Select language
eng.SelectLanguageLabel=Select language:
Цитата ATTACUE:
Хочу добавить две кнопки - rus и eng, чтобы по их нажатию интерфейс переключался на русский и английский соответственно. »
пример
Код: Выделить весь код
[setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}
ShowLanguageDialog=auto

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Name: eng; MessagesFile: compiler:Default.isl

[CustomMessages]
; Русский
rusButtonBack=< &Назад
rusButtonNext=&Далее >
rusButtonCancel=Отмена
rusSetupWindowTitle=Установка — %1
rusWelcomeLabel1=Вас приветствует Мастер установки %1
rusWelcomeLabel2=Программа установит %1, версия %2 на Ваш компьютер.%n%nРекомендуется закрыть все прочие приложения перед тем, как продолжить.%n%nНажмите «Далее», чтобы продолжить, или «Отмена», чтобы выйти из программы установки.

; English
engButtonBack=< &Back
engButtonNext=&Next >
engButtonCancel=Cancel
engSetupWindowTitle=Setup — %1
engWelcomeLabel1=Welcome to the %1 Setup Wizard
engWelcomeLabel2=This will install %1 version %2 on your computer.%n%nIt is recommended that you close all other applications before continuing.%n%nClick Next to continue, or Cancel to exit Setup.

[ Code]
var
  lang: String;
  langBtn: TButton;

procedure ChangeLang();
begin
  WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack');
  WizardForm.NextButton.Caption:= CustomMessage(lang+'ButtonNext');
  WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
  WizardForm.Caption:= FmtMessage(CustomMessage(lang+'SetupWindowTitle'), ['{#SetupSetting('AppName')}']);
  WizardForm.WelcomeLabel1.Caption:= FmtMessage(CustomMessage(lang+'WelcomeLabel1'), ['{#SetupSetting('AppName')}']);
  WizardForm.WelcomeLabel2.Caption:= FmtMessage(CustomMessage(lang+'WelcomeLabel2'), ['{#SetupSetting('AppName')}', '{#SetupSetting('AppVersion')}']);
end;

procedure LangBtnClick(Sender: TObject); 
begin
  if lang='rus' then begin
    lang:= 'eng';
    langBtn.Caption:= 'рус';
  end else begin
    lang:= 'rus';
    langBtn.Caption:= 'eng';
  end;
  ChangeLang();
end;

procedure InitializeWizard;
begin
  langBtn:= TButton.Create(WizardForm);
  with langBtn do begin
    SetBounds(10,WizardForm.CancelButton.Top,30,WizardForm.CancelButton.Height)
    OnClick:= @LangBtnClick;
    Parent:= WizardForm;
  end;

  if ActiveLanguage='rus' then begin
    lang:= 'rus';
    langBtn.Caption:= 'eng';
  end else begin
    lang:= 'eng';
    langBtn.Caption:= 'рус';
  end;
end;

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

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

Отправлено: 03:37, 03-11-2013 | #1397


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


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

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


Доброго времени. Подскажите, как можно реализовать отображение (не выбор) компонентов в зависимости от выбранного языка т.е. если выбираю английский то у меня три определённых компонента из которых могу выбрать, если другой язык, то отображаются другие компоненты.

Отправлено: 18:29, 03-11-2013 | #1398


Аватара для Dinvin4ester

Старожил


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

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


Ребята есть скрипт - http://sendfile.su/886094 . Писал ранее , мне ответили , но у меня не получилось . В чем проблема- не получается прописать выборочную установку . Надо чтобы напротив установки ПО по умолчанию ставилась галка,т.е. была выборочная установка и полная.

Отправлено: 00:49, 04-11-2013 | #1399


Аватара для ATTACUE

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


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

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


Доброго времени суток.
читать дальше »
nik1967, спасибо за помощь

Возникла весьма специфичная проблема.
Часто для установки дополнительных фишек в папку с программой делал так.
Код: Выделить весь код
[Setup]
DefaultDirName={reg:HKLM\SOFTWARE\Название_приложения,InstallPath}
То есть через реестр инсталлятор определял - куда поставить.
И вроде бы все хорошо, и очень даже удобно, если бы не одно НО:
Когда я стал использовать данный путь, но для установки дополнительного ПО, чтобы в случае чего доп. ПО
было удалить, а основную программу оставить нетронутой, то есть:
Код: Выделить весь код
[Setup]
DefaultDirName={reg:HKLM\SOFTWARE\Название_приложения,InstallPath}\папка_1\внутренняя папка
то после установки приложения, значение в реестре основной программы
{reg:HKLM\SOFTWARE\Название_приложения,InstallPath}
меняется на {reg:HKLM\SOFTWARE\Название_приложения\папка_1\внутренняя папка,InstallPath}
и это моем случае очень здорово напрягает.

Не помогает и запись такого вида:
Код: Выделить весь код
[Setup]
DefaultDirName={reg:HKLM\SOFTWARE\Название_приложения,InstallPath|{pf}\папка_1\внутренняя папка}
или
Код: Выделить весь код
[Setup]
DefaultDirName={reg:HKLM\SOFTWARE\Название_приложения,InstallPath|папка_1\внутренняя папка}
Секция [registry] имеется, выставлены отличные от основной программы значения типа:
Код: Выделить весь код
Root: HKLM; Subkey: "Другое_название_приложения"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"; Flags: uninsdeletekey
Тем не менее - в {reg:HKLM\SOFTWARE\Название_приложения,InstallPath} значения все равно меняются.

Как мне заблокировать изменение инсталлятором именно этой ветки:
{reg:HKLM\SOFTWARE\Название_приложения,InstallPath}
чтобы она для инсталлятора была как бы "только для чтения"

-------
Close the world, Open the nExt.


Отправлено: 16:12, 04-11-2013 | #1400



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход