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

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

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

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

Ветеран


Contributor


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


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

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

 

Аватара для Gnom_aka_Lexander

Ветеран


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

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


habib2302, дай полный свой скрипт. как я тебе,наугад чтоль делать буду?

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


Отправлено: 17:27, 28-02-2013 | #1761



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


habib2302, с такой кучей вопросов тебе тогда проще самому разобраться. открываешь справку и читаешь там все,что касается битности. там и параметры секции Setup и встроенные функции. Плюс в папке примеров есть примеры: 64Bit, 64BitTwoArch, и 64BitThreeArch. там есть абсолютно все ответы на твои вопросы.

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


Отправлено: 18:04, 28-02-2013 | #1762


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


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

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


insombia, Хотя не это уже по аккуратнее. (Rikill/Wr0ng1eR, наверное Rikill делал скрипт).

Последний раз редактировалось sergey3695, 28-02-2013 в 20:22.


Отправлено: 19:30, 28-02-2013 | #1763


Аватара для habib2302

Ветеран


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

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


люди помогите.у меня есть 2 exe фала для запуска.один для x86 bit,а другой для x64 bit.как сделать так,чтобы создавались ярлыки, запускались эти 2 файла после установки, реестр заносился, прога устанавливалась в папку. и все это под битность системы

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 16-12-2013 в 00:15.


Отправлено: 19:41, 28-02-2013 | #1764


Ветеран


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

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


sergey3695 забей!

Последний раз редактировалось insombia, 28-02-2013 в 19:58.


Отправлено: 19:50, 28-02-2013 | #1765


Аватара для Johny777

Ветеран


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

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


habib2302, оптимизировал код, добавил проверку разрядности. Изучай!
насчёт секции реестра не знаю какие ключи ты хочешь вносить в зависимости от разрядности, но помнится инно делает это сама, то бишь пишет в 64 или 32 кусты в зависимости от системы
пусть меня поправят если я гоню.

читать дальше »
Код: Выделить весь код
; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

#define MyAppName "CCleaner"
#define MyAppVersion "3.28.1913"
#define MyAppPublisher "Copyright © 2005-2013 Piriform Ltd"
#define MyAppURL "http://www.piriform.com/ccleaner"
#define AppExeName86 "CCleaner.exe"
#define AppExeName64 "CCleaner64.exe"
;(*Автор репака*);
#define AuthRep "Xabib"

[Setup]
WizardSmallImageFile={tmp}\WizardSmallImage.bmp
WizardImageFile={tmp}\WizardImage.bmp
; Примечание: Значение AppId идентифицирует это приложение.
; Не используйте одно и тоже значение в разных установках.
; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=true
OutputBaseFilename={#MyAppName} {#MyAppVersion}
SetupIconFile={tmp}\ico.ico
Compression=lzma2/Ultra64
SolidCompression=true
InternalCompressLevel=Ultra64
DiskSpanning=false
DiskSliceSize=736000000
ShowLanguageDialog=auto
SlicesPerDisk=4
UninstallDisplayIcon={app}\ico.ico
;Авторские права.
VersionInfoCopyright={#MyAppPublisher}
;Производитель.
AppPublisher={#MyAppPublisher}
BitmapResource=logo:logo.bmp
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
; On all other architectures it will install in "32-bit mode".
ArchitecturesInstallIn64BitMode=x64
; Note: We don't set ProcessorsAllowed because we want this
; installation to run on all architectures (including Itanium,
; since it's capable of running 32-bit code too).

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

[Tasks]
Name: icons; Description: Создать Ярлыки:;
Name: icons\desktop; Description: На Рабочем Столе;
Name: icons\quicklaunchicon; Description: В Панели Задач;

[Files]
;Файлы распаковываемые в папку с игрой. Необходимы для деинсталлятора
Source: WinTB.dll; Flags: dontcopy;
Source: logo.bmp; Flags: dontcopy
Source: {tmp}\SGS2.png; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: {tmp}\isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: {tmp}\WizardImage.bmp; DestDir: {app}; Flags: ignoreversion; Attribs: Hidden;
Source: {tmp}\WizardSmallImage.bmp; DestDir: {app}; Flags: ignoreversion; Attribs: Hidden;
Source: {tmp}\ico.ico; DestDir: {app}; Flags: ignoreversion
Source: {app}\{#AppExeName86}; DestDir: "{app}"; Flags: ignoreversion Check: not IsWin64();
Source: {app}\{#AppExeName64}; DestDir: "{app}"; Flags: ignoreversion Check: IsWin64();
Source: {app}\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов

[Registry]
Root: HKLM; SubKey: SOFTWARE\Piriform\CCleaner; ValueType: string; ValueName: UpdateCheck; ValueData: 1;
Root: HKLM; SubKey: SOFTWARE\Piriform\CCleaner; ValueType: string; ValueData: "C:\Program Files\CCleaner";

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#AppExeName86}; IconFilename: {app}\ico.ico; Check: not IsWin64();
Name: {group}\{#MyAppName}; Filename: {app}\{#AppExeName64}; IconFilename: {app}\ico.ico; Check: IsWin64();
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}; IconFilename: {app}\ico.ico;
Name: {group}\Ririform.Com; Filename: {#MyAppURL}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#AppExeName86}; Tasks: icons\desktop; IconFilename: {app}\ico.ico; Check: not IsWin64();
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#AppExeName64}; Tasks: icons\desktop; IconFilename: {app}\ico.ico; Check: IsWin64();
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{#AppExeName86}; Tasks: icons\quicklaunchicon; IconFilename: {app}\ico.ico; Check: not IsWin64();
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{#AppExeName64}; Tasks: icons\quicklaunchicon; IconFilename: {app}\ico.ico; Check: IsWin64();

[Run]
Filename: {app}\{#AppExeName86}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifsilent Unchecked; Check: not IsWin64();
Filename: {app}\{#AppExeName64}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifsilent Unchecked; Check: IsWin64();

[Messages]
BeveledLabel=RePack by {#AuthRep}

[code]
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload'

procedure FolderTreeViewOnChange(Sender: TObject);
begin
  if TObject(Sender) is TFolderTreeView then WizardForm.DirEdit.Text := AddBackslash(TFolderTreeView(Sender).Directory) + '{#MyAppName}' else
  WizardForm.GroupEdit.Text := AddBackslash(TStartMenuFolderTreeView(Sender).Directory)+'{#MyAppName}';
end;


#include "WinTB.iss"

procedure InitializeWizard;
begin
  ExtractTemporaryFile('WinTB.dll');
  SetTaskBarProgressValue(0, 60);
  SetTaskBarProgressState(0, TBPF_ERROR);
  TaskBarV10(MainForm.Handle, WizardForm.Handle, false, false, 0, 0, _m_);
  ExtractTemporaryFile('SGS2.png');
  ShowSplashScreen(WizardForm.Handle, ExpandConstant('{tmp}')+'\SGS2.png', 1000, 3000, 1000, 0, 255, False, $FFFFFF, 10);

  with TFolderTreeView.Create(WizardForm) do
  begin
    Parent := WizardForm.SelectDirPage;
    Top := ScaleY(WizardForm.DirEdit.Top+28);
    Width := ScaleX(417);
    Height := ScaleY(100);
    OnChange := @FolderTreeViewOnChange;
  end;

  with TStartMenuFolderTreeView.Create(WizardForm) do
  begin
    Parent:= WizardForm.SelectProgramGroupPage;
    Top := ScaleY(WizardForm.GroupEdit.Top+28);
    Width := ScaleX(417);
    Height := ScaleY(100);
    SetPaths(ExpandConstant('{userprograms}'), ExpandConstant('{commonprograms}'), ExpandConstant('{userstartup}'), ExpandConstant('{commonstartup}'));
    OnChange := @FolderTreeViewOnChange;
  end;

  with TBitmapImage.Create(WizardForm) do
  begin
    Parent:= WizardForm;
    ExtractTemporaryFile('logo.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo.bmp'));
    SetBounds(ScaleX(20), ScaleY(315), ScaleX(154), ScaleY(42)); {первые 2 параметра - координаты левогого верхнего угла по горизонтали и вертикали, дальше ширина и высота, до которой растянуть}
    Stretch:= True;
  end;
end;

procedure DeinitializeSetup();
begin
  TaskBarDestroy;
end;

procedure InitializeUninstallProgressForm();
begin
  FileCopy(ExpandConstant('{app}\WizardSmallImage.bmp'), ExpandConstant('{app}\WizardSmallImage.bmp'), False);
  with UninstallProgressForm.WizardSmallBitmapImage do Bitmap.LoadFromFile(ExpandConstant('{app}\WizardSmallImage.bmp'));
  with TBitmapImage.Create(UninstallProgressForm) do
  begin
    Parent := UninstallProgressForm;
    Stretch:= true;
    SetBounds(ScaleX(20), ScaleY(315), ScaleX(154), ScaleY(42));
    Bitmap.LoadFromResourceName(HInstance, '_IS_logo');
  end;
end;


UPD: забыл добавить ArchitecturesInstallIn64BitMode=x64
Исправил

================================================================================

insombia, sergey3695,
Цитата insombia:
sergey3695 забей! »
Цитата sergey3695:
insombia, Хотя не это уже по аккуратнее. (Rikill/Wr0ng1eR, наверное Rikill делал скрипт). »

Какие у вас содержательные комментарии! Спасибо за активность ребята!

Последний раз редактировалось Johny777, 28-02-2013 в 21:32.

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

Отправлено: 20:14, 28-02-2013 | #1766


Ветеран


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

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


sergey3695 я находил коды и вставлял,что не получалось он помогал
p.s.думаю вопрос закрыт оффтоп вне зоны
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:34, 28-02-2013 | #1767


Аватара для habib2302

Ветеран


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

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


Johny777, огромное спасибо!!!!

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 21:56, 28-02-2013 | #1768


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


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

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


Johny777,
Цитата Johny777:
не проблема, используй: AnsiToUtf8(AddBackslash(ExpandConstant('{src}')) + 'main.arc')
константа {src} - путь к "рядом с экзешником инсталла" »
Всё равно не распаковывает архивы.
Код: Выделить весь код
if IsComponentSelected('main') then FreeArcExtract (CallbackAddr('ArcCallBack'), 'x', '-o+', '-dp' + AnsiToUtf8(AddBackslash(ExpandConstant('{src}')) + 'main.arc'), '--', AnsiToUtf8(AddBackslash(ExpandConstant('{src}')) + 'main.arc'), '', '', '', '', '');
Скинь , если можно пример с уже распаковывающимся main.arc
то есть , где пути настроены.

Отправлено: 09:16, 01-03-2013 | #1769


Аватара для alert30

Ветеран


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

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


cliff99, main.arc стоит рядом с Вашим компилированным инсталлятором?

Отправлено: 10:02, 01-03-2013 | #1770



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




 
Переход