Inno Setup (создание инсталяционных пакетов)

Статус
В этой теме нельзя размещать новые ответы.

sergey3695

Ветеран
Модератор
Alloc, поставь для двух строк readymemo.lines проверку if wizardform.tasklist.checked[1] then (где 1 - чекбокс с java)
P.s. Пишу со смарта, если не разберешься то завтра пример кину.
 

Alloc

Новичок
sergey3695, никак не разберусь без твоей помощи.. если тебя не затруднит - кинь примерчик.. Заранее большое спасибо!
 

XLASER

Новичок
Подскажите скрипт с кодом на DirectX и Microsoft Visual C++ Redist. Заранее благодарю
 

audiofeel

Старожил
Подскажите скрипт с кодом на DirectX и Microsoft Visual C++ Redist. Заранее благодарю
; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

#define MyAppName "Моя программа"
#define MyAppVersion "1.5"
#define MyAppPublisher "Моя компания, Inc."
#define MyAppURL "http://www.сайт.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; Примечание: Значение AppId идентифицирует это приложение.
; Не используйте одно и тоже значение в разных установках.
; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{82191210-3537-4E4B-9103-52FA3BAA6AF0}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

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

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked; OnlyBelowVersion: 0,6.1
Name: DirectX; Description: Обновление компонентов библиотеки DirectX; GroupDescription: Установка дополнительного програмного обеспечения:; Flags: unchecked
Name: VCRedist; Description: Установка динамических библиотек; GroupDescription: Установка дополнительного програмного обеспечения:; Flags: unchecked

[Files]
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {group}\{cm:programOnTheWeb,{#MyAppName}}; Filename: {#MyAppURL}
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: quicklaunchicon

[Run]
Filename: {src}\VCRedist\vcredist_x86.exe; Parameters: /q:a; StatusMsg: Установка динамических библиотек; Flags: skipifdoesntexist; Tasks: VCRedist
Filename: {src}\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Обновление компонентов библиотеки DirectX; Flags: skipifdoesntexist; Tasks: DirectX
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifsilent
:)
 

XLASER

Новичок
audiofeel, Вылазиет ошибка



Inno Setup Form Designer есть у кого в наличии? Выложите пожалуйста
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
Alloc,
Код:
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

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

[Tasks]
Name: DirectX; Description: Обновление компонентов библиотеки DirectX; GroupDescription: Установка дополнительного програмного обеспечения:; Flags: unchecked
Name: VCRedist; Description: Установка динамических библиотек; GroupDescription: Установка дополнительного програмного обеспечения:; Flags: unchecked

[Icons]
Name: {group}\My Program; Filename: {uninstallexe}; Workingdir: {app};

[code ]
var
  DesktopIcon: TCheckBox;

procedure InitializeWizard();
begin
  DesktopIcon:= TCheckBox.Create(WizardForm);
  with DesktopIcon do begin
    Parent:= WizardForm.SelectProgramGroupPage;
    Checked:= True;
    Top:= ScaleY(120);
    Width:= ScaleX(320);
    Caption := ExpandConstant('{cm:CreateDesktopIcon}');
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    wpReady:
    begin
      if DesktopIcon.Checked then begin
      if not WizardForm.TasksList.Checked[1] and not WizardForm.TasksList.Checked[2] then begin
        WizardForm.ReadyMemo.Lines.Add('');
        WizardForm.ReadyMemo.Lines.Add('Дополнительные задачи:');
      end;
        WizardForm.ReadyMemo.Lines.Add('      '+'Дополнительные значки:');
        WizardForm.ReadyMemo.Lines.Add('         '+'Создать ярлык на рабочем столе');
      end;
    end;
  end;
end;
Пример с двумя чекбоксами в [Tasks] / при более или менее (количеств чекбоксов) по аналогии.
XLASER, то что вверху [Setup] посмотри что там. (скорее всего ты это не скопировал :),потому что у меня то все ок)
Inno Setup Form Designer есть у кого в наличии? Выложите пожалуйста
как бы в расширенной версии inno setup зачем он нужен,там ведь есть свой Form Designer. Ну если надо,то во вложении.
P/S. А в [Setup] я свои данные вставил, зачем мне этот Setup?
Я про то что выше секции [Setup] писал. И ещё это так,и она тебе не нужна :rofl:
sergey3695, Я как понял ты делал директ через справку Inno?
Взял из сообщения выше :) Это для примера. Тут же секции [Run] нету,ничего и не будет запускаться.
sergey3695, Может ты знаешь как ещё сделать, чтобы после установки игры перед нажатием кнопки завершить, всё таки выводились эти дополнение ПО установки Директа и т.п
Код:
ExecAndWait(ExpandConstant('{src}\Soft\DirectX\DXSETUP.exe'), '', SW_SHOW, 0);
Сообщение №64 (выдерешь из готового скрипта)
Это про запуск. У меня так.
Выводились? WizardForm.StatusLabel.Caption менялся или caption другого лейбла. Это скрипт смотреть надо.
 

Вложения

Последнее редактирование:

XLASER

Новичок
sergey3695, Я как понял, самая последняя строчка отвечает за функцию Запуск предложения после установки? Если это так то она мне и не нужна.
P/S. А в [Setup] я свои данные вставил, зачем мне этот Setup?

За прогу благодарю!

sergey3695, Я как понял ты делал директ через справку Inno?

Добавлено через 1 час 32 минуты
sergey3695, Я как понял, самая последняя строчка отвечает за функцию Запуск предложения после установки? Если это так то она мне и не нужна.
Так оно и есть. Она мне и не нужна.

sergey3695, Может ты знаешь как ещё сделать, чтобы после установки игры перед нажатием кнопки завершить, всё таки выводились эти дополнение ПО установки Директа и т.п
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
sergey3695, Что то я вообще запутался.
Что за код?
Еще способ запуска дирекса. (в этом случае установщик можно свернуть).
(скрипт, который позволяет запускать другие программы с ожиданием их завершения и при этом инсталлятор остаётся "живым", т.е. отвечает на действия пользователя)
Смотреть в шапке (читать использование в скрипте и дерзайте) :)
Или не загоняйся и используй [Run] для запуска приложений.
 
Последнее редактирование:

XLASER

Новичок
sergey3695, А в какую категорию
ExecAndWait(ExpandConstant('{src}\Soft\DirectX\DXS ETUP.exe'), '', SW_SHOW, 0);
это вставлят?


(скрипт, который позволяет запускать другие программы с ожиданием их завершения и при этом инсталлятор остаётся "живым", т.е. отвечает на действия пользователя)
Этот скрипт находится в 64 сообщение который ты дал ссылку?
 

XLASER

Новичок
Народ ну подскажите нормальный код на установку Директ и т.п очень надо Пожалуйста у самого не как не получается
 

vint56

Ветеран
Проверенный
XLASER
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

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

[Tasks]
Name: DirectX; Description: Обновление компонентов библиотеки DirectX; GroupDescription: Установка дополнительного програмного обеспечения:; Flags: unchecked

[Run]
Filename: {src}\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Обновление компонентов библиотеки DirectX; Flags: skipifdoesntexist; Tasks: DirectX
 

XLASER

Новичок
vint56, Да мне ещё надо чтобы после установки игры перед завершением установки вылазило установка директа и чтобы обновлялось через инет
 

vint56

Ветеран
Проверенный
XLASER
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: Redist; Description: Дополнительное программное обеспечение:;
Name: Redist\DirectX; Description: Установить Microsoft DirectX; Types: full;Flags: exclusive;
Name: Redist\DirectXWeb; Description: Обновить Microsoft DirectX (требуется соединение с интернетом); Types: full;Flags: exclusive;

Код:
procedure InitializeWizard();
begin
with WizardForm.ComponentsDiskSpaceLabel do
begin
Visible := False;
end;

with WizardForm.ComponentsList do
begin
BorderStyle := bsNone;
Color := clMenu;
TreeViewStyle := True;
WantTabs := True;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var res: integer;
begin
if CurStep = ssPostInstall then begin
If IsComponentSelected('Redist\DirectX') then
begin
WizardForm.FileNameLabel.Caption:='Идет установка Microsoft DirectX';
WizardForm.ProgressGauge.Hide;
Exec(ExpandConstant('{src}\DirectX\DXSETUP.exe'), '/silent', ExpandConstant('{src}\DirectX'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
If IsComponentSelected('Redist\DirectXWeb') then
begin
WizardForm.FileNameLabel.Caption:='Идет обновления через интернет Microsoft DirectXWeb';
WizardForm.ProgressGauge.Hide;
Exec(ExpandConstant('{src}\DirectX\Web\dxwebsetup'), '/Q', ExpandConstant('{src}\DirectX\Web'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
end;
end;[/SPOILER]
 

XLASER

Новичок
vint56, Благодарю!!! Обновления и установки отдельно всё равно нет. Есть у кого ещё примеры? Будте добры :cry:

Зы. И почему ДиректХ 2 раза пишится в установке :-[
 

vint56

Ветеран
Проверенный
XLASER
Зы. И почему ДиректХ 2 раза пишится в установке
это в качестве примера сам можеш выбрать
1 установка DirectX это установка с жёсткого диска
2 установка DirectXWeb это файл скачивает обновления с интернета
если у тебя все dll в системе DirectX тогда и не будет обновления с интернета
 

EvilAlex

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

Вложения

Последнее редактирование:

sergey3695

Ветеран
Модератор
EvilAlex, во вложении скрипт. (думаю заменить скрипт в папке с файлами не проблема).
Что касается строчек приоритета, для isdone изменений в приоритете не будет. это для установщика! (правдо само использование приоритета в скрипте что-то не заметил. ну чтоб знал). Добавил в принцепи что просил. (ну и для кнопки обзор цвет при неактивной кнопке изменил. бесило когда исчезает надпись. непривычно как-то)
 

Вложения

Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху