Ошибка

До окончания фрилича осталось:


Создание репаков

Страницы:  1, 2, 3 ... 38, 39, 40  След.

Ответить на тему
 
Автор Сообщение

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 01-Сен-2009 23:16 3[+]

[Цитировать] 


1. находим и устанавливаем Ashampoo UnInstaller (полезная прога для мониторинга реестра во время установки оригинальной игры)
2. устанавливаем игру (полная установка)
3. лезем в папку установленной игры, ищем ролики - ужимаем (если они в формате bik, то используем прогу RAD Game Tools), если форматы обычные (wmv, avi и т.п.) - жмем любой подходящей прогой
4. тоже проделывам и со звуками, если они не упакованы (а если упакованы в непонятный архив, неоткрывающийся обычными архиваторами, то ищем или спрашиваем распаковщик на http://ipb.extractor.ru/)
4.1 если игра содержит несколько языков - методом тыка и дедукции удаляешь их)

5. собираешь свой репак и загоняешь его в инсталляцию. (добавляешь информацию полученную от Ashampoo UnInstaller, о внесении в реестр записей)
Лучшая прога - Inno Setup
Подробное обсуждение и ссылки на самые свежие билды тут
6. после компиляции инсталла делаем образ диска, и выкладываем сюда)
6.1 но обязательно проверить работоспособность как инсталла, так и самой игры) гы
спасибо Doombuster

до уровня Механиков наверно далеко, но сделать репак для себя или любимого треккера при большом желании может сделать каждый

делимся опытом, советами и полезными скриптами Подмигиваю
Вот небольшая инструкция по Inno Setup дла начинающих

[Setup]
AppName=Mirror's Edge
AppVerName=Mirror's Edge
DefaultDirName={pf}\EA Games\Mirror's Edge
OutputDir=Out
DefaultGroupName=EA Games\Mirror's Edge
UninstallFilesDir={app}\uninstall
InternalCompressLevel=ultra64
SolidCompression=true
Compression=lzma/ultra64
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64 x86
RestartIfNeededByRun=false
DisableReadyPage=true
UsePreviousTasks=false
DirExistsWarning=no
UsePreviousAppDir=false
DisableProgramGroupPage=true
UsePreviousGroup=false
UsePreviousSetupType=false
FlatComponentsList=false
DiskSpanning=true
DiskClusterSize=1024
DiskSliceSize=1566000000
AppID={{AEDBD563-24BB-4EE3-8366-A654DAC2D988}

[LangOptions]
WelcomeFontName=Tahoma
WelcomeFontSize=11

[Files]
Source: gifctrl.dll; Flags: dontcopy
Source: logo3.gif; Flags: dontcopy

[Icons]
Name: {group}\Удалить игру; Filename: {uninstallexe}
Name: {group}\Mirror's Edge™; Filename: {app}\Binaries\MirrorsEdge.exe; WorkingDir: {app}\Binaries\
Name: {group}\Readme; Filename: {app}\Support\readme.ru.txt
Name: {group}\Техническая поддержка; Filename: {app}\Support\EA Help\Electronic_Arts_Technical_Support.htm
Name: {group}\Веб-сайт Mirror's Edge™; Filename: http://www.mirrorsedge.com/
Name: {group}\Поиск обновлений Mirror's Edge™; Filename: http://www.mirrorsedge.com/DLC
Name: {commondesktop}\Mirror's Edge™; Filename: {app}\Binaries\MirrorsEdge.exe; WorkingDir: {app}\Binaries\; Check: MakeDesktopIcon

[UninstallDelete]
Name: {app}\; Type: filesandordirs

[Run]
Filename: {src}\Game.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\Game\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated; Afterinstall: animateprogress
Filename: {src}\Sound_Bin_PC.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\Game\Sound_Bin_PC\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated; Afterinstall: animateprogress
Filename: {src}\DirectX\dxsetup.exe; Parameters: /silent; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop
Filename: {src}\Redistributables\vcredist_x86.exe; Parameters: /Q; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop
Filename: {src}\Redistributables\PhysX_SystemSoftware.exe; Parameters: /quiet; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop

[Registry]
Root: HKLM; SubKey: SOFTWARE\EA Games; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: DisplayName; ValueData: Mirror's Edge™; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: CD Drive; ValueData: {drive:...}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: ProductName; ValueData: Mirror's Edge™; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Folder; ValueData: {commonprograms}\{groupname}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Install Dir; ValueData: {app}\; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Installed From; ValueData: {drive:...}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Locale; ValueData: ru; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Language; ValueData: Russian; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Patch URL; ValueData: http://www.mirrorsedge.com/DLC; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Product GUID; ValueData: {{AEDBD563-24BB-4EE3-8366-A654DAC2D988}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Suppression Exe; ValueData: ; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Registration; ValueData: Software\Electronic Arts\EA Games\Mirror's Edge\ergc; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: ContentID; ValueData: mirrors_edge_eu; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Version; ValueData: 1.0.1.0; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: DisplayName; ValueData: Mirror's Edge; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: dword; ValueName: Language; ValueData: $00000010; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: LanguageName; ValueData: Russian; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: ProgramGroup; ValueData: {commonprograms}\{groupname}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core\Installed Games; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core\Installed Games\mirrors_edge_eu; ValueType: string; ValueName: lang; ValueData: ru; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Mirror's Edge\ergc; ValueType: string; ValueName: ; ValueData: QXJSKREYVVPG6VVDJRLD; Flags: uninsdeletekey
Root: HKLM; Subkey: SOFTWARE\EA DICE; Flags: uninsdeletekey
Root: HKLM; Subkey: SOFTWARE\EA DICE\Mirror's Edge Patch\1.0.1.0; Flags: uninsdeletekey

[Messages]
WizardSelectDir=Выбор папки установки и дополнительных задач
SelectDirDesc=Выберите целевую директорию и дополнительные задачи, которые должны выполниться во время установки
SelectDirBrowseLabel=Нажмите «Установить», чтобы начать установку. Если Вы хотите выбрать другую папку, нажмите «Обзор».

[UninstallDelete]
Type: filesandordirs; Name: {app}

[Code]
const
HALIGN_CENTER = 0;
HALIGN_LEFT = 1;
HALIGN_RIGHT = 2;

VALIGN_CENTER = 0;
VALIGN_TOP = 1;
VALIGN_BOTTOM = 2;

FIT_NONE = 0;
FIT_WIDTH = 1;
FIT_HEIGHT = 2;
FIT_BOTH = 3;

CLR_INVALID = $FFFFFFFF;

function InitGifCtrl(): Boolean; external 'initgifctrl@files:gifctrl.dll stdcall';
function UninitGifCtrl(): Boolean; external 'uninitgifctrl@files:gifctrl.dll stdcall';
function NewGifbWnd(hWndParent: HWND; X, Y, nWidth, nHeight: Integer): HWND; external 'newgifwnd@files:gifctrl.dll stdcall';
function FreeGifWnd(hWndGif: HWND): Boolean; external 'freegifwnd@files:gifctrl.dll stdcall';
function GifWndSetParent(hWndGif: HWND; hWndParent: HWND): Boolean; external 'gifwndsetparent@files:gifctrl.dll stdcall';
function GifWndSetBounds(hWndGif: HWND; X, Y, nWidth, nHeight: Integer): Boolean; external 'gifwndsetbounds@files:gifctrl.dll stdcall';
function GifWndLoadFromFile(hWndGif: HWND; HAlign, VAlign: Integer; BGColor: DWord; Fit: integer; GifFileName: PChar): Boolean; external 'gifwndloadfromfile@files:gifctrl.dll stdcall';

var
GIFHWND: HWND;
function InitializeSetup(): Boolean;
begin
InitGifCtrl();
GIFHWND := 0;
Result := True;
end;
procedure DeinitializeSetup();
begin
UninitGifCtrl();
end;

procedure LblOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
var
WLabel1, WLabel2,
FLabel1, FLabel2: TLabel;
PageNameLabel, PageDescriptionLabel: TLabel;
DesktopIcon,Dop:TCheckBox;
ResultStr: string;
ResultCode: Integer;
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel,FreeSpaceLabel: TLabel;

Function MakeDesktopIcon:Boolean;
begin
Result:=DesktopIcon.Checked;
end;

Function InstallDop:Boolean;
begin
Result:=Dop.Checked;
end;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ IntToStr(FreeMB)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True; end;

procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ IntToStr(NeedSize)+ ' MB';
end;
var
ProgressBar1: TNewProgressBar;

procedure animateprogress;
begin ProgressBar1.Position := ProgressBar1.Position+1
end;
procedure InitializeWizard();
var
GifFileName: String;
Lbl: TNewStaticText;
begin
ExtractTemporaryFile('logo3.gif');

GIFHWND := NewGifbWnd(WizardForm.Handle, ScaleX(30), WizardForm.Bevel.Top + ScaleY(8), 126, 31);
GifWndLoadFromFile(GIFHWND, HALIGN_CENTER, VALIGN_CENTER, CLR_INVALID, FIT_NONE, ExpandConstant('{tmp}\logo3.gif'));
Lbl := TNewStaticText.Create(WizardForm);
Lbl.Parent := WizardForm;
Lbl.AutoSize := False;
Lbl.SetBounds(ScaleX(30), WizardForm.Bevel.Top + ScaleY(8), 126, 31);
Lbl.OnClick := @LblOnClick;
Lbl.Cursor := crHand;
begin
ProgressBar1 := TNewProgressBar.Create(wizardform);
with ProgressBar1 do
begin
Parent := wizardform.installingpage;
Left := wizardform.progressgauge.left;
Top := wizardform.progressgauge.top+wizardform.progressgauge.height+15;
Width := wizardform.progressgauge.width;
Height := wizardform.progressgauge.height;
Max := 100; //задается как кол-во файлов в [_run]
end;
end;
begin
WizardForm.Caption:='Программа установки игры "Mirrors Edge"';
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedHeadingLabel.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.WizardBitmapImage.Width := 497;
WizardForm.WizardBitmapImage.Height := 313;
WizardForm.WizardSmallBitmapImage.Left:=0;
WizardForm.WizardSmallBitmapImage.Width:=497;
WizardForm.WizardSmallBitmapImage.Height:=58;
WizardForm.PageDescriptionLabel.Width:=300;
WizardForm.PageNameLabel.Width:=300;
WizardForm.FileNameLabel.Visible:=False;
WizardForm.ProgressGauge.Top:=ScaleY(100);
WizardForm.StatusLabel.Top:=ScaleY(80);
WLabel1 := TLabel.Create(WizardForm);
WLabel1.Left := ScaleX(176);
WLabel1.Top := ScaleY(16);
WLabel1.Width := ScaleX(301);
WLabel1.Height := ScaleY(54);
WLabel1.AutoSize := False;
WLabel1.WordWrap := True;
WLabel1.Font.Size := 11;
WLabel1.Font.Style := [fsBold];
WLabel1.Font.Color:= clBlack;

WLabel1.Caption := WizardForm.WelcomeLabel1.Caption;
WLabel1.Transparent := True;
WLabel1.Parent := WizardForm.WelcomePage;
WLabel2 :=TLabel.Create(WizardForm);
WLabel2.Top := ScaleY(76);
WLabel2.Left := ScaleX(176);
WLabel2.Width := ScaleX(301);
WLabel2.Height := ScaleY(234);
WLabel2.AutoSize := False;
WLabel2.WordWrap := True;
WLabel2.Font.Color:= clBlack;

WLabel2.Caption := WizardForm.WelcomeLabel2.Caption;
WLabel2.Transparent := True;
WLabel2.Parent := WizardForm.WelcomePage;
WizardForm.WizardBitmapImage2.Width := 497;
WizardForm.WizardBitmapImage2.Height := 313;
FLabel1 := TLabel.Create(WizardForm);
FLabel1.Left := ScaleX(176);
FLabel1.Top := ScaleY(16);
FLabel1.Width := ScaleX(301);
FLabel1.Height := ScaleY(54);
FLabel1.AutoSize := False;
FLabel1.WordWrap := True;
FLabel1.Font.Size := 11;
FLabel1.Font.Style := [fsBold];
FLabel1.Font.Color:= clBlack;

FLabel1.Caption := WizardForm.FinishedHeadingLabel.Caption;
FLabel1.Transparent := True;
FLabel1.Parent := WizardForm.FinishedPage;
FLabel2 :=TLabel.Create(WizardForm);
FLabel2.Top := ScaleY(76);
FLabel2.Left := ScaleX(176);
FLabel2.Width := ScaleX(301);
FLabel2.Height := ScaleY(53);
FLabel2.AutoSize := False;
FLabel2.WordWrap := True;
FLabel2.Font.Color:= clBlack;

FLabel2.Caption := 'Программа установлена на Ваш компьютер.' #13#13
'Нажмите «Завершить», чтобы выйти из программы установки.';
FLabel2.Transparent := True;
FLabel2.Parent := WizardForm.FinishedPage;
begin
PageNameLabel := TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left := ScaleX(10);
Top := ScaleY(10);
Width := ScaleX(300);
Height := ScaleY(14);
AutoSize := False;
WordWrap := True;
Font.Color := clBlack;
Font.Style := [fsBold];
Transparent := True;
Parent := WizardForm.MainPanel;
end;

PageDescriptionLabel := TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left := ScaleX(15);
Top := ScaleY(25);
Width := ScaleX(400);
Height := ScaleY(30);
AutoSize := False;
WordWrap := True;
Font.Color := clBlack;
Transparent := True;
Parent := WizardForm.MainPanel;
end;

with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with MainPanel do
begin
with WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Top := ScaleY(0);
Width := Mainpanel.Width;
Height := MainPanel.Height;
end;
end;
end;
end;
begin
DesktopIcon:=TCheckBox.Create(WizardForm);
with DesktopIcon do
begin
Parent:=WizardForm.SelectDirPage;
Caption:='Добавить ярлык на рабочий стол'
Left:=ScaleX(0);
Top := WizardForm.DirEdit.Top+35;
Width := ScaleX(400);
Height := ScaleY(15);
TabOrder := 0;
Checked := True
end;
end;
begin
dop := TCheckBox.Create(WizardForm);
with Dop do
begin
Parent := WizardForm.SelectDirPage;
Caption := 'Установить дополнительные программы (рекомендуется)';
Left := ScaleX(0);
Top := WizardForm.DirEdit.Top+55;
Width := ScaleX(400);
Height := ScaleY(15);
TabOrder := 0;
Checked := True;
end;
end;
begin
NeedSize :=7300;
WizardForm.DiskSpaceLabel.Hide;
NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(202);
Width := ScaleX(209);
Height := ScaleY(13);
end;
FreeSpaceLabel := TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(220);
Width := ScaleX(209);
Height := ScaleY(13);
end;
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
begin
PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;
end;
begin
if CurPageID=wpSelectDir then begin
WizardForm.NextButton.Caption:='Установить';
GetNeedSpaceCaption;
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
end;end;end;
[Setup]
AppId={{B4866999-9FF1-4780-A2E9-A952A5E7BBCA}
AppName=[Prototype]
AppVerName=[Prototype]
AppPublisher=Activision
AppVersion=1.0
AppSupportURL=http://activision.custhelp.com/
DefaultDirName={pf}\Prototype
OutputDir=D:\Репаки\Prototype
DefaultGroupName=Activision\Radical Entertainment\Prototype
UninstallFilesDir={app}\Uninstall
Compression=lzma/ultra64
InternalCompressLevel=ultra64
SolidCompression=true
DiskSpanning=yes
SlicesPerDisk=3
DiskSliceSize=1100000000
DisableProgramGroupPage=true
DisableReadyPage=true
SetupIconFile=D:\Для InstallShield\Prototype\Icon.ico
WizardImageFile=D:\Для InstallShield\Prototype\Image.bmp
WizardSmallImageFile=D:\Для InstallShield\Prototype\SmallImage.bmp
UninstallDisplayIcon={app}\prototypef.exe, 0
UninstallDisplayName=Prototype(TM)

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

[Icons]
Name: {group}\Техническая поддержка\Сайт технической поддержки; Filename: http://www.activision.com/support; WorkingDir: {app}; Check: GroupIcons
Name: {group}\Техническая поддержка\Диагностика DirectX; Filename: {sys}\dxdiag.exe; WorkingDir: {sys}; Check: GroupIcons
Name: {group}\Техническая поддержка\Сведения о системе; Filename: {pf}\Common Files\Microsoft Shared\MSInfo\msinfo32.exe; Check: GroupIcons
Name: {group}\Запустить игру; Filename: {app}\prototypef.exe; WorkingDir: {app}; Check: GroupIcons
Name: {group}\Сайт компании Activision; Filename: http://www.activision.com; WorkingDir: {app}; Check: GroupIcons
Name: {group}\Сайт компании Radical Entertainment; Filename: http://www.radical.ca/; WorkingDir: {app}; Check: GroupIcons
Name: {group}\Файл Readme; Filename: {app}\Readme.htm; WorkingDir: {app}; Check: GroupIcons
Name: {group}\Удалить игру; Filename: {app}\Uninstall\unins000; WorkingDir: {app}; Check: GroupIcons
Name: {userdesktop}\Prototype; Filename: {app}\prototypef.exe; WorkingDir: {app}; Check: CreateIcons

[Files]
Source: compiler:ISSkin.dll; DestDir: {app}; Flags: dontcopy
Source: compiler:Vista.cjstyles; DestDir: {tmp}; Flags: dontcopy
Source: D:\Для InstallShield\Prototype\1.bmp; DestDir: {tmp}; Flags: dontcopy
Source: D:\Prototype\*; DestDir: {app}; BeforeInstall: ProgressExt(); Flags: ignoreversion recursesubdirs createallsubdirs

[Registry]
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: InstallPath; ValueData: {app}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: Path; ValueData: {app}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: InstallDrive; ValueData: {src}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: LanguageCode; ValueData: ENU; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: FE_Language; ValueData: 69; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: LCID; ValueData: 1033; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: StartMenuFolder; ValueData: {group}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: Version; ValueData: 1.0; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: IntVersion; ValueData: 26.0; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: EXEString; ValueData: {app}\Prototypef.exe; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Activision\Prototype; ValueType: string; ValueName: InstallExePath; ValueData: {app}\Prototypef.exe; Flags: uninsdeletevalue uninsdeletekeyifempty

[Run]
Filename: {src}\DirectX\DXSETUP.exe; Parameters: \silent; StatusMsg: ExpandConstant('{cm:UP}'); Check: InstallDirectX
Filename: {src}\Redist\vcredist_x86.exe; Parameters: \q; StatusMsg: Идет установка Microsoft Visual C++ Redistibutable; WorkingDir: {src}\Redist; Check: InstallRedist

[CustomMessages]
RUS.BUT=Установить
RUS.SPACE=Доступно места на диске:
RUS.SPACE1=Требуется места на диске:
RUS.DRT=Обновить DirectX
RUS.UP=Идет обновление DirectX...

[Code]
var
DirectX, Redist: TCheckBox;
Icons, Group: TCheckBox;
lblDirectX, lblSelectDir, lblSelectDirBrowse, lblRedist: TLabel;
lblIcons, lblGroup: TLabel;
PageNameLabel, PageDescriptionLabel: TLabel;
PageNameLabel1, PageDescriptionLabel1: TLabel;
StatusLabel, FilenameLabel: TLabel;
WelcomeLabel1, WelcomeLabel2,
FinishedLabel, FinishedHeadingLabel: TLabel;
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel,FreeSpaceLabel: TLabel;
BmpFile: TBitmapImage;

function InstallDirectX: Boolean;
begin
Result:= DirectX.Checked;
end;

function InstallRedist: Boolean;
begin
Result:=Redist.Checked;
end;

function CreateIcons: Boolean;
begin
Result:=Icons.Checked;
end;

function GroupIcons: Boolean;
begin
Result:=Group.Checked;
end;

// задал процедуру, чтоб отмечался чебокс еси кликнуть по надписи lblCheckBox
procedure RedistOnClick(Sender: TObject);
begin
if Redist.Checked = False then
Redist.Checked:= True else
Redist.Checked:= False;
end;

procedure lblDirectXOnClick(Sender: TObject);
begin
if DirectX.Checked = False then
DirectX.Checked:= True else
DirectX.Checked:= False;
end;

procedure IconsOnClick(Sender: TObject);
begin
if Icons.Checked = False then
Icons.Checked:= True else
Icons.Checked:= False;
end;

procedure GroupOnClick(Sender: TObject);
begin
if Group.Checked = False then
Group.Checked:= True else
Group.Checked:= False;
end;
// задал процедуру, чтоб отмечался чебокс еси кликнуть по надписи lblCheckBox
//Свободное место
procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ IntToStr(FreeMB)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True;
end;

procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ IntToStr(NeedSize)+ ' MB';
end;
//Свободное место
procedure ProgressExt();
begin
FilenameLabel.Caption:= ExpandConstant(ExtractFileDir(CurrentFilename)) + '\' + ExtractFilename(CurrentFilename);
end;
//Загрузка скина
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Vista.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Vista.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;
//Загрузка скина

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp');

NeedSize:= 7970;

BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.SetBounds(0, 0, 497, 360);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.WelcomePage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.SetBounds(0, 0, 497, 360);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.LicensePage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.SetBounds(0, 0, 497, 360);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.SelectDirPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.SetBounds(0, 0, 497, 360);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.InstallingPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.SetBounds(0, 0, 497, 360);
BmpFile.Stretch:= true
BmpFile.Parent:= WizardForm.FinishedPage;
BmpFile:= TBitmapImage.Create(WizardForm);

with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
DiskSpaceLabel.Hide;
SelectDirBitmapImage.Hide;
SelectDirBrowseLabel.Hide;
SelectDirLabel.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
MainPanel.Hide
FilenameLabel.Hide;
StatusLabel.Hide;
end;

with WizardForm do
begin
DirBrowseButton.Left:= DirBrowseButton.Left + ScaleX(40);
DirBrowseButton.Top:= DirBrowseButton.Top + ScaleY(72);
DirEdit.Left:= DirEdit.Left + ScaleX(40);
DirEdit.Top:= DirEdit.Top + ScaleY(72);
NextButton.BringToFront;
BackButton.BringToFront;
CancelButton.BringToFront;
Font.Style:=[];
Font.Name:= 'MS Sans Serif';
DirEdit.Color:=clBlack;
Font.Color:=clWhite;
ProgressGauge.Top:=ScaleY(120);
ProgressGauge.Left:=ScaleX(20);
end;

with WizardForm do
begin
InnerNotebook.Left := ScaleX(0);
InnerNotebook.Top := ScaleY(0);
InnerNotebook.Width := ScaleX(497);
InnerNotebook.Height := ScaleY(360);
OuterNotebook.Left := ScaleX(0);
OuterNotebook.Top := ScaleY(0);
OuterNotebook.Width := ScaleX(497);
OuterNotebook.Height := ScaleY(360);
end;

WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do
begin
Left:= ScaleX(176);
Top:= ScaleY(66);
Width:= ScaleX(301);
Height:= ScaleY(54);
AutoSize:= false;
Transparent:= true;
WordWrap:= true;
Font.Size:= 14;
Font.Color:=ClWhite
Font.Style := [fsBold]
Parent:= WizardForm.WelcomePage;
Caption:= WizardForm.WelcomeLabel1.Caption; //'Вас приветствует Мастер' + #10 + 'установки Prototype'
end;

WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do
begin
Top:= ScaleY(136);
Left:= ScaleX(176);
Width:= ScaleX(301);
Height:= ScaleY(300);
AutoSize:= false;
WordWrap:= true;
Transparent:= true;
Parent:= WizardForm.WelcomePage;
Caption:= WizardForm.WelcomeLabel2.Caption; //'Программа установит Prototype на Ваш компьютер.' + #10#13#10 + 'Рекомендуется закрыть все прочие приложения перед' + #10 + 'тем, как продолжить.' + #10#13#10 + 'Нажмите «Далее», чтобы продолжить или «Отмена»,' + #10 + 'чтобы выйти из прошраммы установки.';
end;

FinishedHeadingLabel:=TLabel.Create(WizardForm);
with FinishedHeadingLabel do
begin
Top:= ScaleY(66);
Left:= ScaleX(176);
Width:= ScaleX(301);
Height:= ScaleY(53);
AutoSize:= false;
WordWrap:= true;
Font.Size:= 14;
Font.Color:=ClWhite
Font.Style := [fsBold]
Transparent:= true;
Parent:= WizardForm.FinishedPage;
Caption:= WizardForm.FinishedHeadingLabel.Caption; //'Завершение Мастера установки' + #10 + 'Prototype'
end;

FinishedLabel:= TLabel.Create(WizardForm);
with FinishedLabel do
begin
Left:= ScaleX(176);
Top:= ScaleY(136);
Width:= ScaleX(301);
Height:= ScaleY(54);
AutoSize:= false;
WordWrap:= true;
Transparent:= true;
Parent:= WizardForm.FinishedPage;
Caption:= 'Игра Prototype установлена на Ваш компьютер.' + #10#13#10 + 'Нажмите «Завершить», чтобы выйти из программы' + #10 + 'установки.'
end;

// уменьшил размер CheckBox'а, по другому никак
DirectX:= TCheckBox.Create(WizardForm);
with DirectX do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left + 200;
Top:= WizardForm.DirEdit.Top + 35;
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 0;
Checked:= False;
end;

// создаём надпись для CheckBox'а
lblDirectX:= TLabel.Create(WizardForm);
with lblDirectX do
begin
Caption:= ExpandConstant('{cm:DRT}');
Left:= WizardForm.DirEdit.Left + 220;
Top:= WizardForm.DirEdit.Top + 35;
Width:= ScaleX(150);
Height:= ScaleY(13);
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @lblDirectXOnClick;
end;

Redist:= TCheckBox.Create(WizardForm);
with Redist do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left + 200;
Top:= WizardForm.DirEdit.Top + 70;
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 1;
Checked:= False;
end;

lblRedist:= TLabel.Create(WizardForm);
with lblRedist do
begin
Caption:='Установить MS Visual C++ 2005';
Left:= WizardForm.DirEdit.Left + 220;
Top:= WizardForm.DirEdit.Top + 70;
Width:= ScaleX(150);
Height:= ScaleY(13);
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @RedistOnClick;
end;

Icons:= TCheckBox.Create(WizardForm);
with Icons do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left;
Top:= WizardForm.DirEdit.Top + 35;
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 2;
Checked:= False;
end;

lblIcons:= TLabel.Create(WizardForm);
with lblIcons do
begin
Caption:='Создать ярлык на рабочем столе';
Left:= WizardForm.DirEdit.Left + 20;
Top:= WizardForm.DirEdit.Top + 35;
Width:= ScaleX(150);
Height:= ScaleY(13);
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @IconsOnClick;
end;

Group:= TCheckBox.Create(WizardForm);
with Group do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left;
Top:= WizardForm.DirEdit.Top + 70;
Width:= ScaleX(14);
Height:= ScaleY(14);
TabOrder:= 3;
Checked:= False;
end;

lblGroup:= TLabel.Create(WizardForm);
with lblGroup do
begin
Caption:='Создать ярлыки в меню "Пуск"';
Left:= WizardForm.DirEdit.Left + 20;
Top:= WizardForm.DirEdit.Top + 70;
Width:= ScaleX(150);
Height:= ScaleY(13);
Transparent := True;
Parent:= WizardForm.SelectDirPage;
OnClick:= @GroupOnClick;
end;

// создаём lblSelectDir
lblSelectDir:= TLabel.Create(WizardForm);
with lblSelectDir do
begin
Caption:= WizardForm.SelectDirLabel.Caption;
Left:= ScaleX(40);
Top:= WizardForm.SelectDirLabel.Top + ScaleY(62);
Width:= WizardForm.SelectDirLabel.Width;
Height:= WizardForm.SelectDirLabel.Height;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
end;

// создаём lblSelectDirBrowse
lblSelectDirBrowse:= TLabel.Create(WizardForm);
with lblSelectDirBrowse do
begin
Caption:= WizardForm.SelectDirBrowseLabel.Caption;
Left:= ScaleX(40);
Top:= WizardForm.SelectDirBrowseLabel.Top + ScaleY(62);
Width:= WizardForm.SelectDirBrowseLabel.Width;
Height:= WizardForm.SelectDirBrowseLabel.Height;
WordWrap:= True;
Transparent:= True;
Parent:= WizardForm.SelectDirPage;
end;

NeedSpaceLabel:= TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left;
Top:= ScaleY(262);
Width:= ScaleX(209);
Height:= ScaleY(13);
Transparent:= True;
end;

FreeSpaceLabel:= TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent:= WizardForm.SelectDirPage;
Left:= WizardForm.DirEdit.Left;
Top:= ScaleY(280);
Width:= ScaleX(209);
Height:= ScaleY(13);
Transparent:= True;
end;

WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;
WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;

PageNameLabel:= TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left:= WizardForm.PageNameLabel.Left;
Top:= WizardForm.PageNameLabel.Top;
Width:= ScaleX(300);
Height:= ScaleY(14);
AutoSize:= False;
Font.Style:= [fsBold];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
end;

PageNameLabel1:= TLabel.Create(WizardForm);
with PageNameLabel1 do
begin
Left:= WizardForm.PageNameLabel.Left;
Top:= WizardForm.PageNameLabel.Top;
Width:= ScaleX(300);
Height:= ScaleY(14);
AutoSize:= False;
Font.Style:= [fsBold];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;

PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= WizardForm.PageDescriptionLabel.Left;
Top:= WizardForm.PageDescriptionLabel.top;
Width:= WizardForm.PageDescriptionLabel.Width;
Height:= WizardForm.PageDescriptionLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.SelectDirPage;
end;

PageDescriptionLabel1:= TLabel.Create(WizardForm);
with PageDescriptionLabel1 do
begin
Left:= WizardForm.PageDescriptionLabel.Left;
Top:= WizardForm.PageDescriptionLabel.top;
Width:= WizardForm.PageDescriptionLabel.Width;
Height:= WizardForm.PageDescriptionLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;

StatusLabel:= TLabel.Create(WizardForm);
with StatusLabel do
begin
Left:= ScaleX(20);
Top:= ScaleY(80);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
Caption:= 'Распаковка файлов...'
end;

FilenameLabel:= TLabel.Create(WizardForm);
with FilenameLabel do
begin
Left:= ScaleX(20);
Top:= ScaleY(100);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
PageNameLabel1.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel1.Caption:= WizardForm.PageDescriptionLabel.Caption;
if CurPageID = wpSelectDir then
begin
WizardForm.NextButton.Caption:= ExpandConstant('{cm:BUT}');
GetNeedSpaceCaption;
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False;
begin
if CurPageID=wpInstalling
then
if CurPageID=wpFinished
then
begin
WizardForm.Width:=497;
WizardForm.Height:=358;
WizardForm.Position:=poScreenCenter;
end
end;
end;
end;
end.
info [Профиль]  [ЛС] 

Doombuster

Стаж: 10 лет

Сообщений: 3052

Россия
Рейтинг

post 01-Сен-2009 23:25 (спустя 9 минут) [-]0[+]

[Цитировать] 

Да, да, задавайте вопросы)
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 01-Сен-2009 23:38 (спустя 12 минут) [-]0[+]

[Цитировать] 

Doombuster
меня пока интересует как сделать так чтобы перед установкой можно было выбрать устанавливать ли доп. ПО? с возможностью выбора какое ПО надо установить а какое нет ( и где это ПО при этом должно находится..отдельно или внутри папки по которой создаем инсталл..чтобы выглядело норм (например как в репака ЗлогоДеда... Улыбаюсь
info [Профиль]  [ЛС] 

qqqqton

Пол: Пол:Муж

Стаж: 9 лет 7 месяцев

Сообщений: 355

СССР
Рейтинг

post 01-Сен-2009 23:39 (спустя 40 секунд) [-]0[+]

[Цитировать] 

Для меня сейчас первая проблема найти в каких папках,что искать?Где ролики,где видео,что можно вырезать,как следить за тем добавляет ли игра файлы в реестр?
Doombuster
Спасибо за инструкцию,если что возможно пообщаться в привате с Вами?

_________________
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 01-Сен-2009 23:42 (спустя 3 минуты) [-]0[+]

[Цитировать] 

qqqqton

Цитата:

Где ролики,где видео,что можно вырезать
ну это уже методом проб и ошибок

Цитата:

добавляет ли игра файлы в реестр
Ashampoo UnInstaller (полезная прога для мониторинга реестра во время установки оригинальной игры)
info [Профиль]  [ЛС] 

qqqqton

Пол: Пол:Муж

Стаж: 9 лет 7 месяцев

Сообщений: 355

СССР
Рейтинг

post 02-Сен-2009 00:03 (спустя 20 минут) [-]0[+]

[Цитировать] 

REM1X писал(а):

ну это уже методом проб и ошибок
Как Вы себе это представляете?Надо хотя бы азы знать,где обычно,что лежит...

REM1X писал(а):

Ashampoo UnInstaller
Попробуем,спасибо))

_________________
info [Профиль]  [ЛС] 

Doombuster

Стаж: 10 лет

Сообщений: 3052

Россия
Рейтинг

post 02-Сен-2009 00:08 (спустя 5 минут) [-]0[+]

[Цитировать] 

REM1X писал(а):

и где это ПО при этом должно находится..отдельно или внутри папки по которой создаем инсталл..чтобы выглядело норм
Доп по должно просто лежать в папке рядом с уже скомпилированным инсталлятором, инсталлятор его подхватит во время устаноки игры, если в скрипт прописать примерно вот так:
[Tasks]
Name: dop; Description: Установить доп ПО; GroupDescription: Системные задачи:

[Run]
Filename: {src}\DirectX\DXSETUP.exe; Parameters: /silent; Flags: skipifdoesntexist; WorkingDir: {src}\DirectX; StatusMsg: Installing DirectX, please wait...; Tasks: dop
{src} указывает на внешнюю папку (находящуюся рядом с инсталлом), а вней доп по) в данном случае Директ х
+ дед перенес Task на страницу выбора директории, использовав уже секцию [Code]

Можешь свою портянку-скрипт под спойлер, будем править)

добавлено спустя 2 минуты:

qqqqton
Да тут лепи вопросы)
info [Профиль]  [ЛС] 

Witcher

Пол: Пол:Муж

Стаж: 10 лет

Сообщений: 6384

Рейтинг

post 02-Сен-2009 00:10 (спустя 1 минута) [-]0[+]

[Цитировать] 

Doombuster
Удачи тебе в нелёгком деле Улыбаюсь
Темку прилепил

_________________
Темы не проверяю, для этого есть модераторы.
info [Профиль]  [ЛС] 

Doombuster

Стаж: 10 лет

Сообщений: 3052

Россия
Рейтинг

post 02-Сен-2009 00:31 (спустя 21 минута) [-]0[+]

[Цитировать] 

Witcher
Щас советчиков набежит) Я так только азы)

добавлено спустя 17 минут:

REM1X
Вот примерный скрипт Mirror's Edge, спрашивай)
[Setup]
AppName=Mirror's Edge
AppVerName=Mirror's Edge
DefaultDirName={pf}\EA Games\Mirror's Edge
OutputDir=Out
DefaultGroupName=EA Games\Mirror's Edge
UninstallFilesDir={app}\uninstall
InternalCompressLevel=ultra64
SolidCompression=true
Compression=lzma/ultra64
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64 x86
RestartIfNeededByRun=false
DisableReadyPage=true
UsePreviousTasks=false
DirExistsWarning=no
UsePreviousAppDir=false
DisableProgramGroupPage=true
UsePreviousGroup=false
UsePreviousSetupType=false
FlatComponentsList=false
DiskSpanning=true
DiskClusterSize=1024
DiskSliceSize=1566000000
AppID={{AEDBD563-24BB-4EE3-8366-A654DAC2D988}

[LangOptions]
WelcomeFontName=Tahoma
WelcomeFontSize=11

[Files]
Source: gifctrl.dll; Flags: dontcopy
Source: logo3.gif; Flags: dontcopy

[Icons]
Name: {group}\Удалить игру; Filename: {uninstallexe}
Name: {group}\Mirror's Edge™; Filename: {app}\Binaries\MirrorsEdge.exe; WorkingDir: {app}\Binaries\
Name: {group}\Readme; Filename: {app}\Support\readme.ru.txt
Name: {group}\Техническая поддержка; Filename: {app}\Support\EA Help\Electronic_Arts_Technical_Support.htm
Name: {group}\Веб-сайт Mirror's Edge™; Filename: http://www.mirrorsedge.com/
Name: {group}\Поиск обновлений Mirror's Edge™; Filename: http://www.mirrorsedge.com/DLC
Name: {commondesktop}\Mirror's Edge™; Filename: {app}\Binaries\MirrorsEdge.exe; WorkingDir: {app}\Binaries\; Check: MakeDesktopIcon

[UninstallDelete]
Name: {app}\; Type: filesandordirs

[Run]
Filename: {src}\Game.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\Game\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated; Afterinstall: animateprogress
Filename: {src}\Sound_Bin_PC.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\Game\Sound_Bin_PC\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated; Afterinstall: animateprogress
Filename: {src}\DirectX\dxsetup.exe; Parameters: /silent; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop
Filename: {src}\Redistributables\vcredist_x86.exe; Parameters: /Q; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop
Filename: {src}\Redistributables\PhysX_SystemSoftware.exe; Parameters: /quiet; StatusMsg: Идет установка дополнительных программ...; Check: InstallDop

[Registry]
Root: HKLM; SubKey: SOFTWARE\EA Games; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: DisplayName; ValueData: Mirror's Edge™; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: CD Drive; ValueData: {drive:...}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: ProductName; ValueData: Mirror's Edge™; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Folder; ValueData: {commonprograms}\{groupname}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Install Dir; ValueData: {app}\; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Installed From; ValueData: {drive:...}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Locale; ValueData: ru; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Language; ValueData: Russian; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Patch URL; ValueData: http://www.mirrorsedge.com/DLC; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Product GUID; ValueData: {{AEDBD563-24BB-4EE3-8366-A654DAC2D988}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Suppression Exe; ValueData: ; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Registration; ValueData: Software\Electronic Arts\EA Games\Mirror's Edge\ergc; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: ContentID; ValueData: mirrors_edge_eu; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge; ValueType: string; ValueName: Version; ValueData: 1.0.1.0; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: DisplayName; ValueData: Mirror's Edge; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: dword; ValueName: Language; ValueData: $00000010; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: LanguageName; ValueData: Russian; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Mirror's Edge\1.0; ValueType: string; ValueName: ProgramGroup; ValueData: {commonprograms}\{groupname}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core\Installed Games; ValueType: none; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core\Installed Games\mirrors_edge_eu; ValueType: string; ValueName: lang; ValueData: ru; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Mirror's Edge\ergc; ValueType: string; ValueName: ; ValueData: QXJSKREYVVPG6VVDJRLD; Flags: uninsdeletekey
Root: HKLM; Subkey: SOFTWARE\EA DICE; Flags: uninsdeletekey
Root: HKLM; Subkey: SOFTWARE\EA DICE\Mirror's Edge Patch\1.0.1.0; Flags: uninsdeletekey

[Messages]
WizardSelectDir=Выбор папки установки и дополнительных задач
SelectDirDesc=Выберите целевую директорию и дополнительные задачи, которые должны выполниться во время установки
SelectDirBrowseLabel=Нажмите «Установить», чтобы начать установку. Если Вы хотите выбрать другую папку, нажмите «Обзор».

[UninstallDelete]
Type: filesandordirs; Name: {app}

[Code]
const
HALIGN_CENTER = 0;
HALIGN_LEFT = 1;
HALIGN_RIGHT = 2;

VALIGN_CENTER = 0;
VALIGN_TOP = 1;
VALIGN_BOTTOM = 2;

FIT_NONE = 0;
FIT_WIDTH = 1;
FIT_HEIGHT = 2;
FIT_BOTH = 3;

CLR_INVALID = $FFFFFFFF;

function InitGifCtrl(): Boolean; external 'initgifctrl@files:gifctrl.dll stdcall';
function UninitGifCtrl(): Boolean; external 'uninitgifctrl@files:gifctrl.dll stdcall';
function NewGifbWnd(hWndParent: HWND; X, Y, nWidth, nHeight: Integer): HWND; external 'newgifwnd@files:gifctrl.dll stdcall';
function FreeGifWnd(hWndGif: HWND): Boolean; external 'freegifwnd@files:gifctrl.dll stdcall';
function GifWndSetParent(hWndGif: HWND; hWndParent: HWND): Boolean; external 'gifwndsetparent@files:gifctrl.dll stdcall';
function GifWndSetBounds(hWndGif: HWND; X, Y, nWidth, nHeight: Integer): Boolean; external 'gifwndsetbounds@files:gifctrl.dll stdcall';
function GifWndLoadFromFile(hWndGif: HWND; HAlign, VAlign: Integer; BGColor: DWord; Fit: integer; GifFileName: PChar): Boolean; external 'gifwndloadfromfile@files:gifctrl.dll stdcall';

var
GIFHWND: HWND;
function InitializeSetup(): Boolean;
begin
InitGifCtrl();
GIFHWND := 0;
Result := True;
end;
procedure DeinitializeSetup();
begin
UninitGifCtrl();
end;

procedure LblOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
var
WLabel1, WLabel2,
FLabel1, FLabel2: TLabel;
PageNameLabel, PageDescriptionLabel: TLabel;
DesktopIcon,Dop:TCheckBox;
ResultStr: string;
ResultCode: Integer;
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel,FreeSpaceLabel: TLabel;

Function MakeDesktopIcon:Boolean;
begin
Result:=DesktopIcon.Checked;
end;

Function InstallDop:Boolean;
begin
Result:=Dop.Checked;
end;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ IntToStr(FreeMB)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True; end;

procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ IntToStr(NeedSize)+ ' MB';
end;
var
ProgressBar1: TNewProgressBar;

procedure animateprogress;
begin ProgressBar1.Position := ProgressBar1.Position+1
end;
procedure InitializeWizard();
var
GifFileName: String;
Lbl: TNewStaticText;
begin
ExtractTemporaryFile('logo3.gif');

GIFHWND := NewGifbWnd(WizardForm.Handle, ScaleX(30), WizardForm.Bevel.Top + ScaleY(8), 126, 31);
GifWndLoadFromFile(GIFHWND, HALIGN_CENTER, VALIGN_CENTER, CLR_INVALID, FIT_NONE, ExpandConstant('{tmp}\logo3.gif'));
Lbl := TNewStaticText.Create(WizardForm);
Lbl.Parent := WizardForm;
Lbl.AutoSize := False;
Lbl.SetBounds(ScaleX(30), WizardForm.Bevel.Top + ScaleY(8), 126, 31);
Lbl.OnClick := @LblOnClick;
Lbl.Cursor := crHand;
begin
ProgressBar1 := TNewProgressBar.Create(wizardform);
with ProgressBar1 do
begin
Parent := wizardform.installingpage;
Left := wizardform.progressgauge.left;
Top := wizardform.progressgauge.top+wizardform.progressgauge.height+15;
Width := wizardform.progressgauge.width;
Height := wizardform.progressgauge.height;
Max := 100; //задается как кол-во файлов в [_run]
end;
end;
begin
WizardForm.Caption:='Программа установки игры "Mirrors Edge"';
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedHeadingLabel.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.WizardBitmapImage.Width := 497;
WizardForm.WizardBitmapImage.Height := 313;
WizardForm.WizardSmallBitmapImage.Left:=0;
WizardForm.WizardSmallBitmapImage.Width:=497;
WizardForm.WizardSmallBitmapImage.Height:=58;
WizardForm.PageDescriptionLabel.Width:=300;
WizardForm.PageNameLabel.Width:=300;
WizardForm.FileNameLabel.Visible:=False;
WizardForm.ProgressGauge.Top:=ScaleY(100);
WizardForm.StatusLabel.Top:=ScaleY(80);
WLabel1 := TLabel.Create(WizardForm);
WLabel1.Left := ScaleX(176);
WLabel1.Top := ScaleY(16);
WLabel1.Width := ScaleX(301);
WLabel1.Height := ScaleY(54);
WLabel1.AutoSize := False;
WLabel1.WordWrap := True;
WLabel1.Font.Size := 11;
WLabel1.Font.Style := [fsBold];
WLabel1.Font.Color:= clBlack;

WLabel1.Caption := WizardForm.WelcomeLabel1.Caption;
WLabel1.Transparent := True;
WLabel1.Parent := WizardForm.WelcomePage;
WLabel2 :=TLabel.Create(WizardForm);
WLabel2.Top := ScaleY(76);
WLabel2.Left := ScaleX(176);
WLabel2.Width := ScaleX(301);
WLabel2.Height := ScaleY(234);
WLabel2.AutoSize := False;
WLabel2.WordWrap := True;
WLabel2.Font.Color:= clBlack;

WLabel2.Caption := WizardForm.WelcomeLabel2.Caption;
WLabel2.Transparent := True;
WLabel2.Parent := WizardForm.WelcomePage;
WizardForm.WizardBitmapImage2.Width := 497;
WizardForm.WizardBitmapImage2.Height := 313;
FLabel1 := TLabel.Create(WizardForm);
FLabel1.Left := ScaleX(176);
FLabel1.Top := ScaleY(16);
FLabel1.Width := ScaleX(301);
FLabel1.Height := ScaleY(54);
FLabel1.AutoSize := False;
FLabel1.WordWrap := True;
FLabel1.Font.Size := 11;
FLabel1.Font.Style := [fsBold];
FLabel1.Font.Color:= clBlack;

FLabel1.Caption := WizardForm.FinishedHeadingLabel.Caption;
FLabel1.Transparent := True;
FLabel1.Parent := WizardForm.FinishedPage;
FLabel2 :=TLabel.Create(WizardForm);
FLabel2.Top := ScaleY(76);
FLabel2.Left := ScaleX(176);
FLabel2.Width := ScaleX(301);
FLabel2.Height := ScaleY(53);
FLabel2.AutoSize := False;
FLabel2.WordWrap := True;
FLabel2.Font.Color:= clBlack;

FLabel2.Caption := 'Программа установлена на Ваш компьютер.' #13#13
'Нажмите «Завершить», чтобы выйти из программы установки.';
FLabel2.Transparent := True;
FLabel2.Parent := WizardForm.FinishedPage;
begin
PageNameLabel := TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left := ScaleX(10);
Top := ScaleY(10);
Width := ScaleX(300);
Height := ScaleY(14);
AutoSize := False;
WordWrap := True;
Font.Color := clBlack;
Font.Style := [fsBold];
Transparent := True;
Parent := WizardForm.MainPanel;
end;

PageDescriptionLabel := TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left := ScaleX(15);
Top := ScaleY(25);
Width := ScaleX(400);
Height := ScaleY(30);
AutoSize := False;
WordWrap := True;
Font.Color := clBlack;
Transparent := True;
Parent := WizardForm.MainPanel;
end;

with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with MainPanel do
begin
with WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Top := ScaleY(0);
Width := Mainpanel.Width;
Height := MainPanel.Height;
end;
end;
end;
end;
begin
DesktopIcon:=TCheckBox.Create(WizardForm);
with DesktopIcon do
begin
Parent:=WizardForm.SelectDirPage;
Caption:='Добавить ярлык на рабочий стол'
Left:=ScaleX(0);
Top := WizardForm.DirEdit.Top+35;
Width := ScaleX(400);
Height := ScaleY(15);
TabOrder := 0;
Checked := True
end;
end;
begin
dop := TCheckBox.Create(WizardForm);
with Dop do
begin
Parent := WizardForm.SelectDirPage;
Caption := 'Установить дополнительные программы (рекомендуется)';
Left := ScaleX(0);
Top := WizardForm.DirEdit.Top+55;
Width := ScaleX(400);
Height := ScaleY(15);
TabOrder := 0;
Checked := True;
end;
end;
begin
NeedSize :=7300;
WizardForm.DiskSpaceLabel.Hide;
NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(202);
Width := ScaleX(209);
Height := ScaleY(13);
end;
FreeSpaceLabel := TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(220);
Width := ScaleX(209);
Height := ScaleY(13);
end;
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
begin
PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;
end;
begin
if CurPageID=wpSelectDir then begin
WizardForm.NextButton.Caption:='Установить';
GetNeedSpaceCaption;
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
end;end;end;
info [Профиль]  [ЛС] 

Красный Метеор

Пол: Пол:Муж

Стаж: 10 лет

Сообщений: 5200

Россия
Рейтинг

post 02-Сен-2009 05:13 (спустя 4 часа) [-]0[+]

[Цитировать] 

qqqqton
Ну обычно видео лежит в папке Video Улыбаюсь
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 06:02 (спустя 48 минут) [-]0[+]

[Цитировать] 

Doombuster
я ж не буду сразу прям все спрашивать) я сначала попробую сам) вддруг получится)
спасибо за ответ...буду пробовать
спасиб за скрипт к Миррорс Эдж..увидел там много полезного)
info [Профиль]  [ЛС] 

Doombuster

Стаж: 10 лет

Сообщений: 3052

Россия
Рейтинг

post 02-Сен-2009 13:03 (спустя 7 часов) [-]0[+]

[Цитировать] 

REM1X
Конечно не всё сразу, но потом будет получатся)
Будешь бабахать крутые инсталлы))
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 14:10 (спустя 1 час 7 минут) [-]0[+]

[Цитировать] 

Doombuster
эм..скрины фейк?)



как то устанавливал какой то плагин для Inno Setup..уже не помню как называется...думал что не получилось установить
ан нет..сейчас заметил что при установке какой либо игры в папке с ней генерируется автоматически скрипт установки Удивляюсь
info [Профиль]  [ЛС] 

Красный Метеор

Пол: Пол:Муж

Стаж: 10 лет

Сообщений: 5200

Россия
Рейтинг

post 02-Сен-2009 15:03 (спустя 52 минуты) [-]0[+]

[Цитировать] 

REM1X
Скрин не фейк тупо инстал без настоящих файлов Улыбаюсь
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 15:06 (спустя 2 минуты) [-]0[+]

[Цитировать] 

ReDMeTeOr
Ааа...это он типа готовится)))
info [Профиль]  [ЛС] 

Красный Метеор

Пол: Пол:Муж

Стаж: 10 лет

Сообщений: 5200

Россия
Рейтинг

post 02-Сен-2009 15:13 (спустя 7 минут) [-]0[+]

[Цитировать] 

Какой лучший генератор скриптов для инно?
info [Профиль]  [ЛС] 

werterolix

Пол: Пол:Муж

Стаж: 9 лет 8 месяцев

Сообщений: 526

Украина
Рейтинг

post 02-Сен-2009 15:17 (спустя 4 минуты) [-]0[+]

[Цитировать] 

Вопросик, можно ли вместо Ashampoo UnInstaller использовать Total Uninstall -ведь она вроде тоже отслеживает изменения в системе при установке приложений?
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 15:29 (спустя 11 минут) [-]0[+]

[Цитировать] 

ReDMeTeOr
лично я составляю все ручками)
+ сегодня заметил что у меня есть генератор который отслеживает установку программы и в каталоге с ней создает скрипт установки) Удивляюсь
ну я писал об этом выше)
werterolix
я так думаю что главное это чтобы программа отслеживала какие ключи добавились/изменились в реестре, чтобы сделать точно так же в репаке
info [Профиль]  [ЛС] 

werterolix

Пол: Пол:Муж

Стаж: 9 лет 8 месяцев

Сообщений: 526

Украина
Рейтинг

post 02-Сен-2009 16:01 (спустя 32 минуты) [-]0[+]

[Цитировать] 

REM1X, спасибо, будем осваивать..
Вот еще такой мануал нашел по Inno Setup, может кому сгодится..
http://multi-up.com/136406
info [Профиль]  [ЛС] 

qqqqton

Пол: Пол:Муж

Стаж: 9 лет 7 месяцев

Сообщений: 355

СССР
Рейтинг

post 02-Сен-2009 16:57 (спустя 55 минут) [-]0[+]

[Цитировать] 

REM1X писал(а):

+ сегодня заметил что у меня есть генератор который отслеживает установку программы и в каталоге с ней создает скрипт установки)
ну я писал об этом выше)
А поделиться можете?

_________________
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 17:11 (спустя 14 минут) [-]0[+]

[Цитировать] 

qqqqton
как только узнаю что это такое было сразу напишу тут))
info [Профиль]  [ЛС] 

qqqqton

Пол: Пол:Муж

Стаж: 9 лет 7 месяцев

Сообщений: 355

СССР
Рейтинг

post 02-Сен-2009 17:33 (спустя 21 минута) [-]0[+]

[Цитировать] 

REM1X
)))спасибо))

_________________
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 17:50 (спустя 16 минут) [-]0[+]

[Цитировать] 

qqqqton
точно брал отсюда
скорее всего это Inno Setup Unpacker
info [Профиль]  [ЛС] 

Doombuster

Стаж: 10 лет

Сообщений: 3052

Россия
Рейтинг

post 02-Сен-2009 18:01 (спустя 10 минут) [-]0[+]

[Цитировать] 

REM1X писал(а):

Inno Setup Unpacker
Скрипт извлекается не полный и наворотов из секции [code] нет.
info [Профиль]  [ЛС] 

REM1X

Пол: Пол:Муж

Стаж: 9 лет 9 месяцев

Сообщений: 1737

Россия
Рейтинг

post 02-Сен-2009 18:04 (спустя 3 минуты) [-]0[+]

[Цитировать] 

Doombuster
ну да я знаю...но это хоть какая то основа для будущего репака...
что то добавить или изменить всегда легче чем делать с нуля
info [Профиль]  [ЛС] 
Показать сообщения:    
Ответить на тему

Текущее время: 23-Апр 02:59

Часовой пояс: GMT + 4



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы