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

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

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

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

Ветеран


Contributor


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


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

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

 

Аватара для SatHan

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


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

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


Цитата Gnom_aka_Lexander:
просто удали эту структуру, когда писался этот скрипт, инно еще не содержала TMSG »
спасибо. убрал
Код: Выделить весь код
  TMSG = record
    hwnd:    HWND;
    msg:     LongWord;
    wParam:  Word;
    lParam:  LongWord;
    MsgTime: LongWord;
    pt:      TPOINT;
  end;
похоже работает. тока мне всё равно не понятен код.
нужно http://forum.oszone.net/post-1993713-1015.html

Цитата Gnom_aka_Lexander:
покажи секцию ярлыков. »
Код: Выделить весь код
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Icons]
Name: "{commondesktop}\Application"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon
нужно чтоб заместо [Tasks] всплывало.

Последний раз редактировалось SatHan, 26-09-2012 в 10:38.


Отправлено: 10:31, 26-09-2012 | #991



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


SatHan,
Вариант номер один, мне не нравится, но соответствует поставленому тобой условию:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Icons]
Name: "{commondesktop}\Application"; Filename: "{app}\MyProg.exe"; Check: desktopicon

[*code]
var
  Desctop : Boolean; // опорный флаг, исходя из которого будем создавать или не создавать ярлык
  
function desktopicon: Boolean;
begin
  Result := Desctop;
end;

function InitializeSetup(): Boolean;
begin
  Desctop := False; // Изначально говорим, что не нужно создавать ярлык.
  Result := True;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpReady then // Спрашиваем на странице готовности
    Desctop := MsgBox(ExpandConstant('{cm:CreateDesktopIcon}'), mbConfirmation, MB_YESNO)= IDYES;
end;


Второй вариант - я считаю его более правильным.
Запрос будет во время установки, непосредственно в момент создания ярлыков.
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Icons]
Name: "{commondesktop}\Application"; Filename: "{app}\MyProg.exe"; Check: desktopicon

[*code]
function desktopicon: Boolean;
begin
  Result := MsgBox(ExpandConstant('{cm:CreateDesktopIcon}'), mbConfirmation, MB_YESNO)= IDYES;
end;


естественно, задачу на создания ярлыка нужно удалить.

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

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

Отправлено: 10:42, 26-09-2012 | #992


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

Ветеран


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

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


Цитата Gnom_aka_Lexander:
там, где нолик - порядковый номер твоего компонента. и учитывай, что нумерация начинается с нуля. »
Ога, а потом в дистрах постоянно выскакивает "out of bounce"

_____________

Tco 03,
вот так можно узнать номер компонента по его имени или наоборот - по номеру узнать название
Код: Выделить весь код
...
# define SVP "SmoothVideo Project 3.1"
...
SVPname := WizardForm.ComponentsList.Items.IndexOf(ExpandConstant('{#SVP}')); // номер по названию
SVPappname := WizardForm.ComponentsList.ItemCaption[SVPname]; //название по номеру
if SVPname >= 0 then begin
 твои действия
end;

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


Последний раз редактировалось R.i.m.s.k.y., 26-09-2012 в 12:58.

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

Отправлено: 11:06, 26-09-2012 | #993


Аватара для apozlevich

Ветеран


Автор проектов


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

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


А как сделать так, что бы на 32-битной системе установился один файл, а на 64-битной другой?

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 12:32, 26-09-2012 | #994


Аватара для Gnom_aka_Lexander

Ветеран


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

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


apozlevich, встроенная функция IsWin64 на файле, который под 64 стравишь Check : IsWin64 , который под 32 - Check : not IsWin64

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

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

Отправлено: 12:37, 26-09-2012 | #995


Аватара для apozlevich

Ветеран


Автор проектов


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

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


Gnom_aka_Lexander, спасибо! Многого же нет в официальном FAQ о_О

А как сделать так, что бы если выбран компонент, менялась директива Setup (например Uninstallable) и запрещались иконки и записи в реестр?

Еще вопрос: как сделать так, что в зависимости от разрядности процессора (32-bit или 64-бит) меняется путь к файлу для ярлыков? Можно ли поступить так же, как и с файлами?

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Последний раз редактировалось apozlevich, 26-09-2012 в 12:55.


Отправлено: 12:43, 26-09-2012 | #996


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

Ветеран


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

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


Цитата apozlevich:
А как сделать так, что бы если выбран компонент, менялась директива Setup (например Uninstallable) и запрещались иконки и записи в реестр? »
Не все директивы Setup можно менять
Цитата apozlevich:
Еще вопрос: как сделать так, что в зависимости от разрядности процессора (32-bit или 64-бит) меняется путь к файлу для ярлыков? »
Точно так же как и выше Check: IsWin64 один путь, Check: not IsWin64 другой путь
_______
У каждой секции, кроме кода, есть свойство Components
Можно комбинировать, к примеру Components: not a; или Components: a and (not b);

Ты бы код выложил так проще будет хелпать чем сферические примеры рисовать

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


Последний раз редактировалось R.i.m.s.k.y., 26-09-2012 в 13:04.


Отправлено: 12:56, 26-09-2012 | #997


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата apozlevich:
менялась директива Setup »
Встроенная функция IsComponentSelected тут поможет. но не везде - некоторые свойства секции Setup не могут управляться внешними функциями.
Цитата apozlevich:
и запрещались иконки и записи в реестр? »
в каждой секции есть свойство Components : имя компонента.
Цитата apozlevich:
Странно, этого нет в официальном FAQ о_О »
в справке есть вообще все. и где ты нашел официальный фак? Я тоже хочу поглядеть - вдруг там чего полезное есть?
Цитата apozlevich:
в зависимости от разрядности процессора (32-bit или 64-бит) »
Процессора или ОС ? Это разные вещи.

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


Последний раз редактировалось Gnom_aka_Lexander, 26-09-2012 в 13:23.


Отправлено: 12:57, 26-09-2012 | #998


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


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

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


Здравствуйте. Нужно сделать чтобы перед появлением WizardForm появлялась, например Forma1, и только после ее закрытия появлялась WizardForm

Отправлено: 13:33, 26-09-2012 | #999


Аватара для apozlevich

Ветеран


Автор проектов


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

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


Цитата Gnom_aka_Lexander:
официальный фак »
Вот FAQ, Knowledge Base и референс от автора. До этого момента я смотрел только в референс, теперь буду смотреть все И втроенный хелп гляну.

Цитата Gnom_aka_Lexander:
Процессора или ОС ? Это разные вещи. »
Торможу, конечно ОС

Цитата R.i.m.s.k.y.:
Ты бы код выложил так проще будет хелпать чем сферические примеры рисовать »
Вот напишу по вашим примерам - выложу

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 14:03, 26-09-2012 | #1000



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




 
Переход