Имя пользователя:
Пароль:
 | Правила  

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

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

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

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



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

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

Отправлено: 11:48, 10-03-2014

 

Аватара для Dodakaedr

Ветеран


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

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


Цитата Shkutu:
для экранирования кавычки нужно дублировать »
Как апостроф вывести? Потому что дублирование и в названии программы появляется после установки (Programmer''s Notepad).

Цитата Shkutu:
вы приводите второй параметр к нижнему регистру, то неплохо было бы делать то же самое и с первым параметром »
Типа так?
Код: Выделить весь код
function InstallerCheckParam: Boolean;
begin
  Result := Pos(LowerCase('/d=expand:{app}'), LowerCase(GetCmdTail)) > 0;
end;

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


Отправлено: 15:15, 23-04-2014 | #491



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

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


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


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

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


Dodakaedr,
читать дальше »
Цитата Dodakaedr:
Как апостроф вывести? »
Так как вы хотите, чтоб в MyAppName задефайнить с 1 апострофом, а коде их как-то вдруг сделать 2? Никак. Препроцессор заменит {#MyAppName} задефайненой строкой еще до компиляции, так что применить какое-то хитрое преобразование вроде запихивания кавычки внутрь строки не получится. Гипотетически, можно было бы переопределить MyAppName в коде, но если нет четкого видения, в какой момент какое значение будет использоваться, то лучше так не делать. Имхо, использовать для вашего кэпшна локальную переменную или custom messages гораздо проще, чем изобретать велосипед. Впрочем, может может у кого-то из форумчан есть другое мнение на этот счет и они им с вами поделятся.
Цитата Dodakaedr:
Типа так? »
Опять же, похоже на правду. Но как я уже говорила, я не уверена, что константа {app} в данном случае будет инициализированна и как следствие, может использоваться. Но никто не мешает вам проверить

Отправлено: 18:19, 23-04-2014 | #492


Аватара для Dodakaedr

Ветеран


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

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


Цитата Shkutu:
Так как вы хотите, чтоб в MyAppName задефайнить с 1 апострофом, а коде их как-то вдруг сделать 2? »
Мне нужно чтобы один был, а он как-то через раз - то один то два. Как такое возможно?

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


Отправлено: 19:04, 23-04-2014 | #493


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


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

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


Dodakaedr, вы как-то невнимательно читаете, по-моему.
читать дальше »

Препроцессор перед компиляцией заменяет все ваши {#MyAppName} на ту строку, которую вы присвоили этой переменной в #define MyAppName. Если эта замена происходит где-либо, кроме секции [code], то апострофов будет 2. Если эта замена происходит в секции [code], то апостроф будет 1 (1й апостроф просто заэкранирует 2й). Использовать 1 апостроф в MyAppName, если вы хотите использовать эту переменную в коде, нельзя, потому что для компилятора это будет выглядеть так
Код: Выделить весь код
FinishedForm.Caption := {начало переменной}'Установка Programmer'{конец переменной}{начало нового оператора}s Notepad';
Поэтому проще сделать например
Код: Выделить весь код
 FinishedForm.Caption := 'Установка Programmer''s Notepad';

Отправлено: 19:35, 23-04-2014 | #494


SHVtYW4=


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

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


Цитата Dodakaedr:
Потому что дублирование и в названии программы появляется после установки (Programmer''s Notepad). »
Dodakaedr, Что вы к #define привязались, способов больше нет?

Код: Выделить весь код
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[CustomMessages]
text=Programmer's Notepad

[Code]
var
  Text: TNewStaticText;

procedure InitializeWizard();
begin
  Text := TNewStaticText.Create(WizardForm);
  with Text do
  begin
    AutoSize := True;
    Parent := WizardForm;
    Caption := CustomMessage('text');
    Left := ScaleX(24);
    Top := ScaleY(328);
  end;
end;
Даже так:

Код: Выделить весь код
[Setup]
AppName={cm:text}
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
UsePreviousLanguage=no

[Languages]
Name: default; MessagesFile: compiler:Default.isl

[CustomMessages]
text=Programmer's Notepad

[Code]
var
  Text: TNewStaticText;

procedure InitializeWizard();
begin
  Text := TNewStaticText.Create(WizardForm);
  with Text do
  begin
    AutoSize := True;
    Parent := WizardForm;
    Caption := CustomMessage('text');
    Left := ScaleX(24);
    Top := ScaleY(328);
  end;
end;
Даже так:
Код: Выделить весь код
[Setup]
AppName={cm:text}
AppVersion=1.5
DefaultDirName={pf}\{cm:text}
DefaultGroupName={cm:text}
OutputDir=.
UsePreviousLanguage=no

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

[CustomMessages]
default.text=Programmer's Notepad
russian.text=Блокнот программиста

[Code]
var
  Text: TNewStaticText;

procedure InitializeWizard();
begin
  Text := TNewStaticText.Create(WizardForm);
  with Text do
  begin
    AutoSize := True;
    Parent := WizardForm;
    Caption := CustomMessage('text');
    Left := ScaleX(24);
    Top := ScaleY(328);
  end;
end;

Последний раз редактировалось Nordek, 29-10-2014 в 02:47.

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

Отправлено: 21:41, 23-04-2014 | #495


Аватара для Dodakaedr

Ветеран


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

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


Цитата Nordek:
Что вы к #define привязались, способов больше нет? »
Есть, но так удобней.

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


Отправлено: 21:48, 23-04-2014 | #496


Аватара для Dodakaedr

Ветеран


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

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


Объясните пожалуйста, что-то не доходит.
читать дальше »
Цитата:
IconFilename
Имя файла иконки (расположенной в системе пользователя). Это может быть изображение с расширением .exe или .dll, содержащее иконки, или файл .ico. Если этот параметр не указан или пустой, Windows будет использовать иконку, выбранную по умолчанию.
У меня так:
Код: Выделить весь код
[Setup]
SetupIconFile=InstallFiles\icon.ico //иконка инсталятора
UninstallDisplayIcon={uninstallexe} //иконка в "удалить или изменить программу"
Код: Выделить весь код
[Icons]
Name: "{commonprograms}\{#MyAppName}\Удалить {#MyAppName}"; Filename: {uninstallexe}; BeforeInstall: ChangeLabel('icon'); Check: PuskCheck and PuskCheckParam; MinVersion: 0.0,5.0;
Вопрос: Почему иконка {uninstallexe} берется с инсталлятора? Я хочу сделать чтобы у инсталлятора была указанная иконка, а в деинсталляторе стандартная...

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


Последний раз редактировалось Dodakaedr, 24-04-2014 в 08:59.


Отправлено: 08:45, 24-04-2014 | #497


Аватара для Shift85

Старожил


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

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


Цитата Dodakaedr:
Я хочу сделать чтобы у инсталлятора была одна иконка, а в деинсталляторе стандартная »
Dodakaedr, Как вариант разные иконки: http://rghost.ru/54554271

Отправлено: 08:53, 24-04-2014 | #498


Аватара для Dodakaedr

Ветеран


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

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


Shift85, мне надо чтобы иконка деинсталлятора была стандартною...

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


Отправлено: 08:57, 24-04-2014 | #499


Аватара для diman_21Ru

Старожил


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

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


Подскажите пожалуйста пример скрипта с оснащением другого курсора при запуске установщика , заранее спасибо .

Отправлено: 09:19, 24-04-2014 | #500



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

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

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




 
Переход