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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

SHVtYW4=


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

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


Цитата Rhianarkipom:
Как создать Label в окне выбора папки, и сменить заголовок окна "Обзор папок" ? »
Не понятно. Вам на странице SelectDirPage под DirEdit нужно окно для выбора месторасположения установки?

Пример:
Код: Выделить весь код
#define AppName "My Program"

[Setup]
AppName={#AppName}
AppVersion=1.5
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}

[Files]
Source: C:\Program Files\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion

[Code]
var
 WTV_Window: TFolderTreeView;

procedure WTV_WindowChange(Sender: TObject);
begin
 WizardForm.DirEdit.Text:=AddBackslash(WTV_Window.Directory) + '{#AppName}'
end;

procedure InitializeWizard();
begin
  WTV_Window := TFolderTreeView.Create(WizardForm);
  with WTV_Window do
  begin
    Parent := WizardForm.SelectDirPage;
    SetBounds(ScaleX(0), ScaleY(96), ScaleX(417), ScaleY(113));
    OnChange := @WTV_WindowChange;
  end;
end;

Последний раз редактировалось Nordek, 09-07-2016 в 22:02.


Отправлено: 21:52, 09-07-2016 | #1611



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

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


Забанен


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

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


ребята подскажите как сделать что бы компонент был включен как на скрине у меня стоят компоненты через Tasks

Отправлено: 07:56, 10-07-2016 | #1612


Старожил


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

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


vadjliss,
Пример

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup

[Tasks]
Name: ProgFiles; Description: Program Files
Name: HelpFile; Description: Help File
Name: ReadmeFile; Description: Readme File
Name: ReadmeFile\1; Description: English; Flags: exclusive
Name: ReadmeFile\2; Description: German; Flags: exclusive

[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
//Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[code]
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectTasks then
begin
WizardForm.TasksList.Checked[0] := True;
WizardForm.TasksList.Checked[3] := True;
WizardForm.TasksList.ItemEnabled[0] := False;
WizardForm.TasksList.TreeViewStyle := True;
WizardForm.TasksList.ShowLines := True;
end;
end;


Последний раз редактировалось vint56, 10-07-2016 в 10:01.

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

Отправлено: 09:38, 10-07-2016 | #1613


Забанен


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

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


У меня вот так
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup

[Files]
Source: soft\Microsoft Visual C++.exe; DestDir: {tmp}; Tasks: fbrinst; Flags: deleteafterinstall
Source: soft\NET Framework 4.5.2(онлайн-установка).exe; DestDir: {tmp}; Tasks: aaa; Flags: deleteafterinstall
Source: soft\NET Framework 4.6(онлайн-установка).exe; DestDir: {tmp}; Tasks: ddd; Flags: deleteafterinstall
Source: soft\DirectX (онлайн-установка).exe; DestDir: {tmp}; Tasks: bbb; Flags: deleteafterinstall


[Tasks]
Name: fbrinst; Description: "Microsoft Visual C++"
Name: aaa; Description: "NET Framework 4.5.2(онлайн-установка)"
Name: ddd; Description: "NET Framework 4.6(онлайн-установка)"
Name: bbb; Description: "DirectX (онлайн-установка)"

[Run]
Filename: {tmp}\Microsoft Visual C++.exe; Description: "Launch Firebird Setup"; Tasks: fbrinst
Filename: {tmp}\NET Framework 4.5.2(онлайн-установка).exe; Description: "Launch Firebird Setup"; Tasks: aaa
Filename: {tmp}\NET Framework 4.6(онлайн-установка).exe; Description: "Launch Firebird Setup"; Tasks: ddd
Filename: {tmp}\DirectX (онлайн-установка).exe; Description: "Launch Firebird Setup"; Tasks: bbb

Отправлено: 09:57, 10-07-2016 | #1614


SHVtYW4=


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

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


vadjliss,
Пример:
Код: Выделить весь код
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup

[Files]
Source: soft\Microsoft Visual C++.exe; DestDir: {tmp}; Tasks: fbrinst; Flags: deleteafterinstall
Source: soft\NET Framework 4.5.2(онлайн-установка).exe; DestDir: {tmp}; Tasks: aaa; Flags: deleteafterinstall
Source: soft\NET Framework 4.6(онлайн-установка).exe; DestDir: {tmp}; Tasks: ddd; Flags: deleteafterinstall
Source: soft\DirectX (онлайн-установка).exe; DestDir: {tmp}; Tasks: bbb; Flags: deleteafterinstall

[Tasks]
Name: fbrinst; Description: Microsoft Visual C++
Name: aaa; Description: NET Framework 4.5.2(онлайн-установка)
Name: ddd; Description: NET Framework 4.6(онлайн-установка)
Name: bbb; Description: DirectX (онлайн-установка)

[Run]
Filename: {tmp}\Microsoft Visual C++.exe; Description: Launch Firebird Setup; Tasks: fbrinst
Filename: {tmp}\NET Framework 4.5.2(онлайн-установка).exe; Description: Launch Firebird Setup; Tasks: aaa
Filename: {tmp}\NET Framework 4.6(онлайн-установка).exe; Description: Launch Firebird Setup; Tasks: ddd
Filename: {tmp}\DirectX (онлайн-установка).exe; Description: Launch Firebird Setup; Tasks: bbb

[Code]
procedure CurPageChanged(CurPageID: Integer);
 begin
 if CurPageID = wpSelectTasks then
    begin
      WizardForm.TasksList.Checked[0] := True;
      WizardForm.TasksList.ItemEnabled[0] := False;
      WizardForm.TasksList.Checked[2] := True;
      WizardForm.TasksList.ItemEnabled[2] := False;
    end;
end;
Также обратите внимание на сообщение #1613, коллега vint56 поправил пример.


vadjliss, Пользуйтесь тегом [CODE][/CODE] для оформления кодов Inno Setup.

Последний раз редактировалось Nordek, 10-07-2016 в 12:14.

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

Отправлено: 10:09, 10-07-2016 | #1615


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


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

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


Скрытый текст
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{C5AD9121-9AE4-48DB-9913-539017B5EF4D}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
DisableWelcomePage=no
DisableReadyMemo=yes
DisableReadyPage=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

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

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon


[code]
procedure CurPageChanged(CurPageID: Integer);
begin
if (CurPageID = wpSelectDir) or (CurPageID = wpReady) then
WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
else if (CurPageID = wpFinished) then
WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish)
else
WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
end;

const
MF_BYCOMMAND = $00000000;
MF_BYPOSITION = $00000400;

type
HMENU = THandle;

function GetSystemMenu(hWnd: HWND; bRevert: BOOL): HMENU; external 'GetSystemMenu@user32.dll stdcall';
function DeleteMenu(hMenu: HMENU; uPosition, uFlags: UINT): BOOL; external 'DeleteMenu@user32.dll stdcall';
function GetMenuItemCount(hMenu: HMENU): Integer; external 'GetMenuItemCount@user32.dll stdcall';

procedure InitializeWizard;
var
SystemMenu: HMENU;
begin
SystemMenu := GetSystemMenu(WizardForm.Handle, False);
DeleteMenu(SystemMenu, 9999, MF_BYCOMMAND);
DeleteMenu(SystemMenu, GetMenuItemCount(SystemMenu)-1, MF_BYPOSITION);
end;



Куда лучше вставить эту строку : WizardForm.SelectDirBrowseLabel.Caption:= 'To continue, click Install. If you would like to select a different folder, click Browse.'; ?

P.S
Знаю что можно использовать секцию [Messages], но мне нужно чтобы было в секции [code]

Отправлено: 17:34, 13-07-2016 | #1616


Аватара для ZVSRus

Старожил


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

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


Цитата Bajuyngaonau:
Куда лучше вставить эту строку
Вставьте после begin в procedure InitializeWizard;

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode

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

Отправлено: 18:31, 13-07-2016 | #1617


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


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

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


Цитата ZVSRus:
Вставьте после begin в procedure InitializeWizard; »
Спасибо, в таком случаи буду использовать секцию [Message] от нужны чтобы не мешать код :

А не скажите как сделать чтобы этот код был юникодным (Преобразовать из ANSI в Unicode) ?

Отправлено: 19:05, 13-07-2016 | #1618


Аватара для ZVSRus

Старожил


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

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


Цитата Bajuyngaonau:
А не скажите как сделать чтобы этот код был юникодным (Преобразовать из ANSI в Unicode) ?
У меня ANSI. Как преобразовать ANSI в Unicode не знаю, так-как данные действия меня не интересовали.

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Отправлено: 19:40, 13-07-2016 | #1619


SHVtYW4=


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

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


Цитата Bajuyngaonau:
как сделать чтобы этот код был юникодным »
Используете AkelPad.
Код: Выделить весь код
"C:\Program Files\AkelPad\AkelPad.exe" /OpenFile("Input_ISScript.iss", 1251) /SaveFile("Output_ISScript.iss", 65001, 1) /Quit
Цитата Bajuyngaonau:
А не скажите как сделать чтобы этот код был юникодным (Преобразовать из ANSI в Unicode) ? »
Опять от вас пользователей никакой информации.
Выдавая предложение "Преобразовать из ANSI в Unicode", какую цель преследуете?
Если для галочки, то данное действие вам ненужно т.к программа Inno версии Ansi не понимает Unicode - иначе в Inno на выходе вместо этого, получите вот это.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 03:40, 14-07-2016 | #1620



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты 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




 
Переход