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

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

 

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


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

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


Подскажите пожалуйста, как сделать, чтобы приложение по умолчанию устанавливалось на диск C в Program Files.
Например, в этом случае, я так понимаю, установка будет происходить туда, куда укажет пользователь:

[Files]
Source: "D:\Games\Launcher\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

Что поменять, чтоб установилось в Program Files по умолчанию? Может вместо "{app}" что то поменять? Или как? Подскажите пожалуйста

Отправлено: 15:45, 28-12-2014 | #2231



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

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


Ветеран


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

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


Irenis, Параметр DefaultDirName в секции Setup определяет каталог установки по умолчанию. Константа {pf} = ProgramFiles и ProgramFiles(x86) на 64-х разрядных системах.
  • DefaultDir={pf}\MyApp - создание папки приложения в корне папки ProgramFiles.
Если необходимо, чтобы программа всегда устанавливалась только в ProgramFiles, имеет смысл запретить пользователю выбор папки установки.
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp

;отключить страницу выбора папки.
DisableDirPage=yes

[Files]
Source: "D:\Games\Launcher\*"; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:24, 28-12-2014 | #2232


Аватара для Dodakaedr

Ветеран


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

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


Цитата Irenis:
Что поменять, чтоб установилось в Program Files по умолчанию? Может вместо "{app}" что то поменять? Или как? Подскажите пожалуйста »
Или же запретить изменять путь установки
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp

[Files]
Source: "D:\Games\Launcher\*"; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs

[Code]
procedure InitializeWizard();
begin
  with WizardForm.DirEdit do
  begin
    Enabled := False;
  end;

  with WizardForm.DirBrowseButton do
  begin
    Enabled := False;
  end;
end;

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

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

Отправлено: 17:45, 28-12-2014 | #2233


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


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

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


Спасибо Тут еще вот в чем дело. Игра состоит из лаунчера (который собственно и нужно было установить в Program Files), и из файлов самой игры. Так вот файлы эти должны устанавливаться в папку, которую укажет пользователь. В общем то разделить это все получилось и все устанавливается, куда надо. Единственное, что не так получается. На рабочем столе должен создаться ярлык, который запускает лаунчер, находящийся на диске С. Ярлык то создается, но находится файлик .exe не на диске С, а в папке с файлами игры и рабочая папка соответственно тоже та, в которую устанавливаются файлы игры. И ярлыком естественно ничего не запускается, так как он должен находиться на С. Вернее на диске С тоже есть этот .exe, но ярлык создается не из него. В общем ладно, сама уже запуталась, не знаю, как объяснить правильно

Решила в итоге не мудрить дальше, а поместить файлы игры и лаунчера в одну папку. Но вот думаю, будет ли это работать на виндовс 8. Просто это сам разработчик игры пишет, что лаунчер лучше устанавливать на диск С (особенно на виндовс 8). У меня виндовс 7, я этот лаунчер уже куда только не перемещала, все работает. А восьмерка никогда не стояла, вот и не знаю, отличаются ли они чем то существенно или нет. Но почему то кажется, если на семерке все работает, то и восьмерке должно работать?

Отправлено: 21:55, 28-12-2014 | #2234


Ветеран


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

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


Irenis
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp


[Files]
;лаунчер ставим в x:\Program Files, независимо от выбора папки пользователем
Source: "путь_к_лаунчеру"; DestDir: {pf}\папка программы; Flags: ignoreversion

;остальные файлы устанавливаем в папку по выбору пользователя
Source: "D:\Games\Launcher\*"; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs


[Icons]
;создаем ярлык для лаунчера
Name: {group}\имя; Filename: {pf}\папка программы\файл; WorkingDir: {pf}\папка программы;
Name: {commondesktop}\имя; Filename: {pf}\папка программы\файл; WorkingDir: {pf}\папка программы;

Цитата Irenis:
будет ли это работать на виндовс 8 »
Разницы нет. Ну если только не считать индивидуальные глюки каждой новой системы за особенность.

Последний раз редактировалось saurn, 29-12-2014 в 00:05.

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

Отправлено: 23:30, 28-12-2014 | #2235


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


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

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


Подскажите пожалуйста может кто сталкивался, что при использовании UninsHs (анинсталлер с возможностью модифицирования, а не просто удаления), когда количество компонентов много, то запоминание выбранных не происходит, если выбрать несколько компонентов, то всё ОК. Может кто сталкивался и вылечил либо вооще альтернативный вариант знает?

Отправлено: 00:45, 29-12-2014 | #2236


SHVtYW4=


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

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


Цитата Irenis:
не знаю, как объяснить правильно »
Цитата Пример:
Есть игра которая отличается от обычной установки.
Одна часть представляет из себя большую часть файлов игры.
Вторая часть представляет из себя исполняющий файл Launcher.exe или исполняющий файл Launcher.exe и необходимые для его запуска компоненты.

Нужно, чтоб:
Одна часть установилась по умолчанию, т.е другими словами туда, куда укажет пользователь (в данном случае ярлык на рабочем столе не нужен).
Вторая часть была жёстко привязана к пути (путь примерной установки: "C:\Program Files\Launcher\"), затем на рабочем столе создавался ярлык для запуска Launcher.exe из этой же папки.


Цитата Irenis:
как сделать »
Пример 1
Код: Выделить весь код
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: Game\Files\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: Game\Launcher\Launcher.exe; DestDir: {pf}\Launcher; Flags: ignoreversion

[Icons]
Name: {group}\My Program; Filename: {pf}\Launcher\Launcher.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
Name: {commondesktop}\My Program; Filename: {pf}\Launcher\Launcher.exe; Tasks: desktopicon

[Run]
Filename: {app}\Launcher\Launcher.exe; Description: {cm:LaunchProgram,My Program}; Flags: nowait postinstall skipifsilent

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

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: Game\Files\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: Game\Launcher\*; DestDir: {pf}\Launcher; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: {group}\My Program; Filename: {pf}\Launcher\Launcher.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
Name: {commondesktop}\My Program; Filename: {pf}\Launcher\Launcher.exe; Tasks: desktopicon

[Run]
Filename: {app}\Launcher\Launcher.exe; Description: {cm:LaunchProgram,My Program}; Flags: nowait postinstall skipifsilent
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:01, 29-12-2014 | #2237


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


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

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


Здравствуйте. Как мне сделать такую же кнопку(info) в своем инсталляторе https://yadi.sk/i/sJ_2-at3divCk

Отправлено: 12:27, 31-12-2014 | #2238


Ветеран


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

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


Цитата Юрій_Окропірідзе@vk:
сделать такую же кнопку(info) »
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp


[code]
procedure TButtonOnClick( Sender: TObject );
var
    MainForm: TSetupForm;
begin
    begin
        MainForm := CreateCustomForm();
        with MainForm do
        try
            BorderIcons := [];
            ClientWidth := ScaleX( 300 );
            ClientHeight := ScaleY( 300 );
            Caption := 'Информация';
            Position := poScreenCenter;

            with TBevel.Create( nil ) do
            begin
                Parent := MainForm;
                SetBounds( ScaleX( 8 ), ScaleY( 8 ), ScaleX( 284 ), ScaleY( 249 ) );
                Shape := bsFrame;
            end;

            with TNewStaticText.Create( nil ) do
            begin
                Parent := MainForm;
                SetBounds( ScaleX( 12 ), ScaleY( 12 ), ScaleX( 276 ), ScaleY( 241 ) );
                AutoSize := False;
                Caption := 'Информация:' + #13#10 +
                            'Версия:'     + #13#10 +
                            'И т.д.';
                WordWrap := True;
            end;

            with TButton.Create( nil ) do
            begin
                Parent := MainForm;
                SetBounds( ScaleX( 112 ), ScaleY( 266 ), ScaleX( 76 ), ScaleY( 25 ) );
                ModalResult := mrOk;
                Caption := 'Закрыть';
            end;

            ShowModal();
        finally

            Free;
        end;
    end;
end;


procedure InitializeWizard();
begin
    with TButton.Create( nil ) do
    begin
        Parent := WizardForm;
        Left := ScaleX( 12 );
        Top := ScaleY( 327 );
        Caption := 'Info';
        OnClick := @TButtonOnClick;
    end;
end;

Последний раз редактировалось saurn, 31-12-2014 в 15:08.


Отправлено: 12:36, 31-12-2014 | #2239


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


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

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


https://yadi.sk/i/vtpmpXtLdj2qU , тут вот какая то ошибка

Отправлено: 14:47, 31-12-2014 | #2240



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




 
Переход