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

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

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

Аватара для 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] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

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


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

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


Распаковать в любую папку, запустить скрипт, чуть отредактировать и компиллировать сетап?

Отправлено: 22:08, 07-04-2013 | #101



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Ооо... Ты-ж скачал? там вроде все понятно. Можно удалить все, что касается jre и Java из этого скрипта, в остальное - просто кладешь рядом папку .minecraft со своей сборкой и компилишь.

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


Отправлено: 22:11, 07-04-2013 | #102


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


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

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


Мне просто установка нужна.
Я кинул, ругается на много чего...
У меня проблема, помогите на рабочий стол и в пуск создать по 3 ярлыка игры?
При компиляции сетупа ехе игры находится в папке %AppData%\.minecraft\Лаунчеры
А когда скомпилирует, установится, ехе игры уже тут находится %AppData%\.minecraft
Помогите исправить?
1 имя: MultiMinecrafter
2 имя: XRAM Launcher
Все ехе.
А в конце установки нужно что бы был 1 запуск игры.
читать дальше »
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Minecraft"
#define MyAppVersion "1.4.7"
#define MyAppExeName "Minecraft.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={{30F4D7A3-7C27-4A82-9977-F785B48D23FE}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={userappdata}\.minecraft\
DisableDirPage=true
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\Тима\Desktop
OutputBaseFilename=Minecraft
Compression=lzma/ultra
SolidCompression=true
PrivilegesRequired=none

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

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

[Files]
Source: C:\Users\Тима\AppData\Roaming\.minecraft\Лаунчеры\Minecraft.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\Users\Тима\AppData\Roaming\.minecraft\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

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

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifsilent


Последний раз редактировалось Tima182, 07-04-2013 в 22:57.


Отправлено: 22:31, 07-04-2013 | #103


Ветеран


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

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


Tima182 пример для 3 ярлыков
Name: {userdesktop}\icon1; Filename: {app}\icon1.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror
Name: {userdesktop}\icon2; Filename: {app}\icon2.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror
Name: {userdesktop}\icon3; Filename: {app}\icon3.exe; WorkingDir: {app}\Лаунчеры; Check: MakeDesktopIcon and checkerror

Name: {group}\icon1; Filename: {app}\icon1.exe; Check: MakeDesktopIcon and checkerror
Name: {group}\icon2; Filename: {app}\icon2.exe; Check: MakeDesktopIcon and checkerror
Name: {group}\icon3; Filename: {app}\icon3.exe; Check: MakeDesktopIcon and checkerror
думаю я тебя правильно понял?

Помогите исправить?
1 имя: MultiMinecrafter
2 имя: XRAM Launcher
не совсем понял что тебе нужно?

Цитата:
Помогите исправить?
1 имя: MultiMinecrafter
2 имя: XRAM Launcher
не понял что тебе именно нужно?

Отправлено: 23:07, 07-04-2013 | #104


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


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

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


В скрипт добавить что бы создавались для 3-х файлов ярлыки: пуск>программы>minecraft, и на рабочий стол.
3 файла:
minecraft
MultiMinecrafter
XRAM Launcher
Которым нужно что бы создавались ярлыки в 2-х местах.
И еще нужно что бы значек был каждой своей ехе, к которой будет ярлык в программах и рабочий стол.
И еще что бы 3 галочки можно было ставить в конце, запуск приложений.
А лучше что бы 1 галочка на саму игру minecraft.exe стояла, а вторые дополнительно.
Вот и все.

Последний раз редактировалось Tima182, 07-04-2013 в 23:42.


Отправлено: 23:31, 07-04-2013 | #105


Аватара для habib2302

Ветеран


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

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


доброе время суток.я незнаю как это объяснть?короче.я делаю репак aida64 2в1.например.общая папка
Код: Выделить весь код
{pf}\FinalWire
а при выборе компанента AIDA64 Business Edition дописывалась автоматически папка.например был
Код: Выделить весь код
{pf}\FinalWire
а стал
Код: Выделить весь код
{pf}\FinalWire\AIDA64 Business Edition

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


Последний раз редактировалось habib2302, 09-04-2013 в 19:12.


Отправлено: 23:42, 07-04-2013 | #106


Ветеран


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

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


habib2302, установка каждой версии в свою подпапку? В вашем скрипте это есть.

Код: Выделить весь код
#define AIDA641 "AIDA64 Extreme Edition"
#define AIDA642 "AIDA64 Business Edition"

[Setup]
DefaultDirName={pf}\FinalWire

[Files]
Source: {app}\{#AIDA641}\*; DestDir: {app}\{#AIDA641}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: AIDA641;
Source: {app}\{#AIDA642}\*; DestDir: {app}\{#AIDA642}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: AIDA642;

Отправлено: 03:25, 08-04-2013 | #107


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


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

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


Ребят а подскажите, можно ли вместо WizardForm.DirEdit использывать Label или Memo или Panel для указания пути, просто WizardForm.DirEdit не имеет св-ва прозрачности, а мне хотелось бы сделать эту рамку прозрачной, если можно то как?

Отправлено: 03:39, 08-04-2013 | #108


Ветеран


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

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


Nightwishh, тут оно?

---------------------------------------------------------------------------------------------------------------------
neorom, в чем сложность? Скрипт покажите.

Ну и, если хочется проценты через внешнюю библиотеку, пожалуйста:
читать дальше »
Код: Выделить весь код
[Files]
Source: InnoCallback.dll; Flags: dontcopy noencryption nocompression deleteafterinstall;

[Code]

type
  TTimerProc = procedure(HandleW, Msg, idEvent, TimeSys: LongWord);


function WrapTimerProc(callback: TTimerProc; Paramcount: Integer): longword; external 'wrapcallback@{tmp}\InnoCallback.dll stdcall delayload';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external 'SetTimer@user32';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32 stdcall delayload';

var
  pLabel: TLabel;
  pTimer: LongWord;

function InitializeSetup(): Boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\InnoCallback.dll')) then ExtractTemporaryFile('InnoCallback.dll');
  Result := True;
end;

function pStr(Float: Extended): String;
begin
  Result:= Format('%.1n', [Float]); StringChange(Result, ',', '.');
  while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
  SetLength(Result, Length(Result)-1);
end;

procedure pInstall(h, msg, idevent, dwTime: Longword);
begin
  with WizardForm.ProgressGauge do
  begin
    pLabel.Caption:= pStr((Position*100)/Max) + '%';
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
    ssInstall:
    begin
      pLabel := TLabel.Create(nil);
      with pLabel do
      begin
        Parent := WizardForm.ProgressGauge;
        SetBounds(WizardForm.ProgressGauge.Left, WizardForm.ProgressGauge.Top + 2, WizardForm.ProgressGauge.Width, WizardForm.ProgressGauge.Height);
        Alignment := taCenter;
        Align := alNone;
        AutoSize := False;
        Font.Color := clBlack;
        Font.Height := -12;
        Font.Name := 'Tahoma';
        Font.Style := [fsBold];
        Transparent := True;
      end;

      pTimer:= SetTimer(0, 0, 100, WrapTimerProc(@pInstall, 4));
    end;

    ssPostInstall:
    begin
      KillTimer(0, pTimer);
      pLabel.Free;
    end;
  end;
end;

procedure DeinitializeSetup();
begin
  KillTimer(0, pTimer);
end;


---------------------------------------------------------------------------------------------------------------------
Tima182

читать дальше »
Код: Выделить весь код
#define MyAppName "Minecraft"
#define MyAppVersion "1.4.7"
#define MyAppExeName "Minecraft.exe"
#define MultiMinecrafter "MultiMinecrafter.exe"
#define XRAM Launcher "XRAM Launcher.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={{30F4D7A3-7C27-4A82-9977-F785B48D23FE}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={userappdata}\.minecraft\
DisableDirPage=true
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\Тима\Desktop
OutputBaseFilename=Minecraft
Compression=lzma/ultra
SolidCompression=true
PrivilegesRequired=none

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

[Files]
;Зачем здесь эта строка, если во второй строке из этой же папки все файлы копируются по маске?
;Source: C:\Users\Тима\AppData\Roaming\.minecraft\Лаунчеры\Minecraft.exe; DestDir: {app}; Flags: ignoreversion

Source: C:\Users\Тима\AppData\Roaming\.minecraft\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

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

[Icons]
Name: {group}\Minecraft;                          Filename: {app}\Лаунчеры\{#MyAppExeName};     WorkingDir: {app}\Лаунчеры;
Name: {group}\MultiMinecrafter;                   Filename: {app}\Лаунчеры\{#MultiMinecrafter}; WorkingDir: {app}\Лаунчеры;
Name: {group}\XRAM Launcher;                      Filename: {app}\Лаунчеры\{#XRAM Launcher};    WorkingDir: {app}\Лаунчеры;
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe};

Name: {commondesktop}\Minecraft;        Filename: {app}\Лаунчеры\{#MyAppExeName};     WorkingDir: {app}\Лаунчеры; Tasks: desktopicon;
Name: {commondesktop}\MultiMinecrafter; Filename: {app}\Лаунчеры\{#MultiMinecrafter}; WorkingDir: {app}\Лаунчеры; Tasks: desktopicon;
Name: {commondesktop}\XRAM Launcher;    Filename: {app}\Лаунчеры\{#XRAM Launcher};    WorkingDir: {app}\Лаунчеры; Tasks: desktopicon;

[Run]
Filename: {app}\Лаунчеры\{#MyAppExeName};     Description: Запустить Minecraft;        Flags: nowait postinstall skipifsilent
Filename: {app}\Лаунчеры\{#MultiMinecrafter}; Description: Запустить MultiMinecrafter; Flags: nowait postinstall skipifsilent unchecked
Filename: {app}\Лаунчеры\{#XRAM Launcher};    Description: Запустить XRAM Launcher;    Flags: nowait postinstall skipifsilent unchecked

Последний раз редактировалось saurn, 08-04-2013 в 05:41.

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

Отправлено: 04:32, 08-04-2013 | #109


Аватара для audiofeel

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


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

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


Доброе утро всем, подскажите с примером "Запись имя пользователя в ini" - мне нужно просто имя в первой строке и во второй пароль, без этих "[ ]" или "=", ну как мне кажется все перепробовал но эти два символа остаются
Код: Выделить весь код
 [...Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program

[....Code]
var
EditPage: TWizardPage;
MyEdit: TEdit;

procedure MyEditOnChange(Sender: TObject);
begin
if MyEdit.Text = '' then
WizardForm.NextButton.Enabled := False
else
WizardForm.NextButton.Enabled := True;
end;

procedure CreateEditPage();
begin
EditPage := CreateCustomPage(wpWelcome, 'Text_1', 'Text_2');

with TNewStaticText.Create(EditPage) do
begin
AutoSize := False;
WordWrap := True;
SetBounds(0, 0, WizardForm.InnerNotebook.Width, ScaleY(28));
Caption := 'Text_3';
Parent := EditPage.Surface;
end;

with TNewStaticText.Create(EditPage) do
begin
AutoSize := True;
WordWrap := True;
SetBounds(0, ScaleY(28), WizardForm.InnerNotebook.Width, ScaleY(14));
Caption := 'Name:';
Parent := EditPage.Surface;
end;

MyEdit := TEdit.Create(EditPage);
with MyEdit do
begin
SetBounds(0, ScaleY(44), WizardForm.InnerNotebook.Width, ScaleY(21));
OnChange := @MyEditOnChange;
Parent := EditPage.Surface;
end;
end;

procedure InitializeWizard();
begin
CreateEditPage();
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
SetIniString('main', 'user', MyEdit.Text, ExpandConstant('{app}\MyIni.ini'));
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if (CurPageID = EditPage.ID) and (MyEdit.Text = '') then
WizardForm.NextButton.Enabled := False;
end;

Последний раз редактировалось audiofeel, 08-04-2013 в 09:17.


Отправлено: 09:11, 08-04-2013 | #110



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход