Кстати, не кто не знает как запихать видео в окошко установки как это сделано у EagleSH ?
» Inno Setup (создание инсталяционных пакетов)
Qarma
у и него спроси на фто или еще гдето.
у и него спроси на фто или еще гдето.
spider91
а что у тебя там за текст? как ты этот чек создаешь?
а что у тебя там за текст? как ты этот чек создаешь?
BondDaniil00
ето чек самого инсталятора (NoIconsCheck). цвет он не меняеет нивкакую. я на него свой [more=текст] wizardform.NoIconsCheck.hide;
Label1 := TLabel.Create(WizardForm);
with Label1 do
begin
Parent := wizardform.selectprogramgrouppage;
Left :=wizardform.NoIconsCheck.Left;
Top := wizardform.NoIconsCheck.Top+2;
Caption := wizardform.NoIconsCheck.Caption;
Font.Color := clwhite;
end;
[/more] наложил. но пропадает чекбокс а как создать новый незнаю
ето чек самого инсталятора (NoIconsCheck). цвет он не меняеет нивкакую. я на него свой [more=текст] wizardform.NoIconsCheck.hide;
Label1 := TLabel.Create(WizardForm);
with Label1 do
begin
Parent := wizardform.selectprogramgrouppage;
Left :=wizardform.NoIconsCheck.Left;
Top := wizardform.NoIconsCheck.Top+2;
Caption := wizardform.NoIconsCheck.Caption;
Font.Color := clwhite;
end;
[/more] наложил. но пропадает чекбокс а как создать новый незнаю
spider91
Что то там у тебя не так
Я так понимаю у тебя такой чек? = "Не создавать папку в меню пуск"
вот я вставляю в начале этой procedure InitializeWizard();
begin
with WizardForm do begin
Font.Color:=clWindow
затем уже свой код .....................
все строки в инстоляторе становятся белые
Что то там у тебя не так
Я так понимаю у тебя такой чек? = "Не создавать папку в меню пуск"
вот я вставляю в начале этой procedure InitializeWizard();
begin
with WizardForm do begin
Font.Color:=clWindow
затем уже свой код .....................
все строки в инстоляторе становятся белые
BondDaniil00
я так сразу сделал но ета не меняет цвет. все остальные белые
я так сразу сделал но ета не меняет цвет. все остальные белые
spider91
Хорошо, давай попорядку
ты хочешь сделать такой чек- "Не создавать папку в меню пуск"
Правильно?
Хорошо, давай попорядку
ты хочешь сделать такой чек- "Не создавать папку в меню пуск"
Правильно?
BondDaniil00
ну да.
ну да.
spider91
Создаешь ты ее так?
в секции [Setup] пишешь AllowNoIcons=true
и все.
Создаешь ты ее так?
в секции [Setup] пишешь AllowNoIcons=true
и все.
BondDaniil00
пишу AllowNoIcons=yes и все
Добавлено:
проблему решил. в версии 5.3.0-unicode все оторажается нормально но при нажатии на любую кнопку появляется ето. что делать????
пишу AllowNoIcons=yes и все
Добавлено:
проблему решил. в версии 5.3.0-unicode все оторажается нормально но при нажатии на любую кнопку появляется ето. что делать????
Вопрос снят, догадался сам. Можно удалить пост.
Получается, что если зашифровать инсталлятор через подсчет MD5, то все ровно знающий человек сможет найти необходимое число, которое подсчитывается, даже мне это удалось. Но вариант лучше, так найти это число в коде затруднительно.
Получается, что если зашифровать инсталлятор через подсчет MD5, то все ровно знающий человек сможет найти необходимое число, которое подсчитывается, даже мне это удалось. Но вариант лучше, так найти это число в коде затруднительно.
все мой вопрос снимается. уже все работает
boss911
попробуй в строку добавить символы:
Код: [no]÷۽«-¯ąĺżŴǾǻǻљњ[/no]
попробуй в строку добавить символы:
Код: [no]÷۽«-¯ąĺżŴǾǻǻљњ[/no]
можне ли зделать чтоб прогресс бар в XP был такимже как и в висте?
DeKaNszn
Сложно для меня это, мало что понял. Если можете, сразу полным примером в меня киньте. Спасибо.
Сложно для меня это, мало что понял. Если можете, сразу полным примером в меня киньте. Спасибо.
boss911
[more=пример][no]Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID = wpPassword
then begin
WizardForm.PasswordEdit.Visible:= False;
WizardForm.PasswordEdit.Text:= GetMD5OfString(GetMD5OfString('•‰…!орое' + 'вкпил•…‰<ривы' + 'щушщЃ€Ђ™рпрпп' + 'аЎѓ±¤љшгвт'));
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
End;[/no][/more]
а в качестве пароля ставишь получившийся хэш
[more=пример][no]Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID = wpPassword
then begin
WizardForm.PasswordEdit.Visible:= False;
WizardForm.PasswordEdit.Text:= GetMD5OfString(GetMD5OfString('•‰…!орое' + 'вкпил•…‰<ривы' + 'щушщЃ€Ђ™рпрпп' + 'аЎѓ±¤љшгвт'));
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
End;[/no][/more]
а в качестве пароля ставишь получившийся хэш
Есть два набора файлов, которые должны устанавливаться в разные директории, соответственно нужны два запроса к пользователю для указания этих директорий.
Как такое можно реализовать? Вроде всё перерыл, но не нашёл.
Заранее спасибо :)
Как такое можно реализовать? Вроде всё перерыл, но не нашёл.
Заранее спасибо :)
RazDray
В коллекции скриптов есть такой пример.
В коллекции скриптов есть такой пример.
Ребята у кого достаточно знаний и времени, пожалуйста помогите разобраться с вопросами из предыдущей страницы. Вопрос 1: как защитить "тихий" инсталл компилируемый в Inno Setup от комбинации Alt+F4? Вопрос 2: как блокировать отображение окна "тихого" инсталла (Inno Setup) на панели задач, при переключении между окнами по Alt+Tab? Вопрос 3: как правильно завершить работу "тихого" инсталла без вывода сообщений, если ключ системного реестра (из которого извлекается путь установки) не найден? Вопрос 4: может есть специализированная утилита для создания "тихих" инсталляций? Стандартный скрипт отключения страниц в Inno Setup думаю знают все, а вот как его доработать, чтобы он удовлетворял первым трем критериям указанным выше, это наверное практически невозможно? Буду очень благодарен Вашей помощи!
ertw
т.е. ты предлагаешь скачать этот репак?!?
Artem_Butenko
Будешь те же самые вопросы спрашивать на КАЖДОЙ странице?!
т.е. ты предлагаешь скачать этот репак?!?
Artem_Butenko
Будешь те же самые вопросы спрашивать на КАЖДОЙ странице?!
кто может мне помочь ч прогресс баром?
Artem_Butenko
если не ошибаюсь, то когда-то давно давал ответы на эти вопросы (в виде кода)
возможно даже тебе
попробуй поискать
ЗЫ все что ты просишь возможно
если не ошибаюсь, то когда-то давно давал ответы на эти вопросы (в виде кода)
возможно даже тебе
попробуй поискать
ЗЫ все что ты просишь возможно
htuos Вы правы, но теперь контекст вопросов несколько иной. Но, в некоторых аспектах вроде разобрался с доброй помощью. Посему вопрос снимаю.
Добрые люди! Будьте так любезны, помогите пожалуйста чайнику в inno setup скриптом, мне необходимо в своем инсталяторе реализовать вот это http://s50.radikal.ru/i130/0905/50/76c6b15d28c7.jpg
т.е. перенести чекбоксы с последующих страниц установки на страницу выбора папок, а остальные отключить. Заранне очень Вам благодарен!
т.е. перенести чекбоксы с последующих страниц установки на страницу выбора папок, а остальные отключить. Заранне очень Вам благодарен!
Люди! Помогите! Никак не пойму как в инно сделать чтобы во время инсталляции распаковывались архивы или exe пробовал в секции [RUN] прописать он в конце установки пишет ошибку данный файл не найден.
[more=код][Setup]
OutputDir=Setup
AppName=Русский Спецназ
AppVerName=Counter Strike SourCe "Русский Спецназ"
AppVersion=Counter Strike SourCe "Русский Спецназ"
AppPublisher=Ange[l]De@d
AppCopyright=Ange[l]De@d
DefaultDirName={pf}\Counter-Strike Source v.34 No Steam\
DefaultGroupName=Counter Strike SourCe "Русский Спецназ"
AllowNoIcons=yes
InfoBeforeFile=D:\Documents and Settings\Admin\Рабочий стол\Текстовый документ (2).txt
OutputBaseFilename=setup
WizardImageFile=D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\css_big_img.bmp
WizardSmallImageFile=D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\css_small_img.bmp
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra64
SolidCompression=yes
DiskSpanning=yes
DiskSliceSize=2100000000
SlicesPerDisk=1
[_ISToolPreCompile]
define Requirements "NeedSys:= 6.1; NeedSp:= 3; NeedMHZ:= 1200; NeedRAM:= 256; NeedVRAM:= 128; {NeedMB:= 4800};
define PerfectProgressBar 10
define LogoCoord "10,50"
define SkinPath AddBackslash(SourcePath) + "Corona\" ;путь к файлам обложки (SourcePath - это папка главного (этого) скрипта)
include SkinPath + "Corona_kernel.iss"
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
[Files]
Source: isxbb.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background12.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\z2VSgHHNFs.png; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: innocallback.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\Контра\Counter-strike Techno.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\Games\Counter-Strike Source v34 No Steam\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
[Icons]
Name: {group}\Русский Спецназ; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}
Name: {userdesktop}\Русский Спецназ; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Русский Спецназ}; Filename: {uninstallexe}
[Run]
Description: {cm:LaunchProgram, Русский Спецназ}; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}; Flags: nowait postinstall skipifsilent unchecked
Filename: {src}\cstrike\materials\materials.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\materials\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\maps\maps.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\maps\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\sound\sound.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\sound\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\hl2\hl2.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\hl2\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\models\models.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\models\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
[UninstallDelete]
Type: filesandordirs; Name: {app}
[_ISTool]
EnableISX=True
[Code]
type
HSTREAM=DWORD;
TTimerProc=procedure(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
const
BackGround=6;
Timer=16;
Indent=25;
var
MP3List:TStringList;
CurrentMP3:integer;
hMP3:HWND;
TimerID:LongWord;
function isxbb_AddImage(Image: PChar; Flags: Cardinal): integer; external 'isxbb_AddImage@files:isxbb.dll stdcall delayload';
function isxbb_Init(hWnd: Integer): integer; external 'isxbb_Init@files:isxbb.dll stdcall delayload';
function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): integer; external 'isxbb_StartTimer@files:isxbb.dll stdcall';
function isxbb_KillTimer(Flags: Cardinal): integer; external 'isxbb_KillTimer@files:isxbb.dll stdcall';
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';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
function SetTimer(hWnd:HWND;nIDEvent,uElapse:UINT;lpTimerFunc:LongWord{TFNTimerProc}):UINT; external 'SetTimer@user32.dll stdcall delayload';
function KillTimer(hWnd:HWND;uIDEvent:UINT):BOOL; external 'KillTimer@user32.dll stdcall delayload';
function BASS_ChannelIsActive(Handle:HWND):DWORD; external 'BASS_ChannelIsActive@files:bass.dll stdcall';
function BASS_SetConfig(Option,Value:DWORD):DWORD; external 'BASS_SetConfig@files:bass.dll stdcall';
function BASS_Init(Device:integer;Freq,Flags:DWORD;Win:HWND;CLSID:integer):boolean; external 'BASS_Init@files:bass.dll stdcall delayload';
function BASS_StreamCreateFile(Mem:BOOL;f:PChar;Offset:DWORD;Length:DWORD;Flags:DWORD):HSTREAM; external 'BASS_StreamCreateFile@files:bass.dll stdcall';
function BASS_StreamFree(Handle:HWND):boolean; external 'BASS_StreamFree@files:bass.dll stdcall';
function BASS_ChannelPlay(Handle:HWND;Restart:boolean):boolean; external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_Start: Boolean; external 'BASS_Start@files:bass.dll stdcall';
function BASS_Stop: Boolean; external 'BASS_Stop@files:bass.dll stdcall';
function BASS_Free: Boolean; external 'BASS_Free@files:bass.dll stdcall delayload';
function WrapTimerProc(CallBack:TTimerProc;ParamCount:integer):LongWord; external 'wrapcallback@files:innocallback.dll stdcall';
procedure TimerTick(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
begin
if BASS_ChannelIsActive(hMP3)=0 then begin
BASS_Stop;
BASS_StreamFree(hMP3);
hMP3:=BASS_StreamCreateFile(False,PChar(MP3List.Strings[CurrentMP3]),0,0,0);
BASS_Start;
if hMP3<>0 then
if BASS_ChannelPlay(hMP3,True) then begin
CurrentMP3:=CurrentMP3+1;
if CurrentMP3>MP3List.Count-1 then CurrentMP3:=0;
end;
end;
end;
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('Counter-strike Techno.mp3');
MP3List:=TStringList.Create;
MP3List.Add(ExpandConstant('{tmp}')+'\Counter-strike Techno.mp3');
CurrentMP3:=0;
Result:=True;
end;
procedure InitializeWizard;
begin
WizardForm.Position:=poScreenCenter;
MainForm.BorderStyle:=bsNone;
MainForm.Width:=GetSystemMetrics(0);
MainForm.Height:=GetSystemMetrics(1)+1;
MainForm.Top:=-1;
MainForm.Left:=0;
ExtractTemporaryFile('z2VSgHHNFs.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\z2VSgHHNFs.png',1000,3000,1000,0,255,False,$FFFFFF,10);
TimerID:=SetTimer(0,0,500,WrapTimerProc(@TimerTick,5));
BASS_Init(-1,44100,0,0,0);
BASS_SetConfig(5,100);
BASS_SetConfig(6,100);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('background3.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background3.jpg',BackGround or Timer);
ExtractTemporaryFile('background12.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background12.jpg',BackGround or Timer);
ExtractTemporaryFile('background8.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background8.jpg',BackGround or Timer);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(10,BackGround)
MainForm.Visible:=True;
end;
if CurStep=ssPostInstall then begin
MainForm.Visible:=False;
isxbb_KillTimer(BackGround);
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(MainForm.Width-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(MainForm.Height-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if CurPageID=wpFinished then begin
WizardForm.Visible:=False;
WizardForm.Width:=502;
WizardForm.Height:=392;
WizardForm.Left:=(MainForm.Width-WizardForm.Width) div 2;
WizardForm.Top:=(MainForm.Height-WizardForm.Height) div 2;
WizardForm.Visible:=True;
end;
end;
procedure DeinitializeSetup;
begin
KillTimer(0,TimerID);
BASS_Stop;
BASS_Free;
MP3List.Free;
end;[/more]
[more=код][Setup]
OutputDir=Setup
AppName=Русский Спецназ
AppVerName=Counter Strike SourCe "Русский Спецназ"
AppVersion=Counter Strike SourCe "Русский Спецназ"
AppPublisher=Ange[l]De@d
AppCopyright=Ange[l]De@d
DefaultDirName={pf}\Counter-Strike Source v.34 No Steam\
DefaultGroupName=Counter Strike SourCe "Русский Спецназ"
AllowNoIcons=yes
InfoBeforeFile=D:\Documents and Settings\Admin\Рабочий стол\Текстовый документ (2).txt
OutputBaseFilename=setup
WizardImageFile=D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\css_big_img.bmp
WizardSmallImageFile=D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\css_small_img.bmp
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra64
SolidCompression=yes
DiskSpanning=yes
DiskSliceSize=2100000000
SlicesPerDisk=1
[_ISToolPreCompile]
define Requirements "NeedSys:= 6.1; NeedSp:= 3; NeedMHZ:= 1200; NeedRAM:= 256; NeedVRAM:= 128; {NeedMB:= 4800};
define PerfectProgressBar 10
define LogoCoord "10,50"
define SkinPath AddBackslash(SourcePath) + "Corona\" ;путь к файлам обложки (SourcePath - это папка главного (этого) скрипта)
include SkinPath + "Corona_kernel.iss"
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
[Files]
Source: isxbb.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background12.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\css_pictures\css_pictures\background8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\z2VSgHHNFs.png; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: innocallback.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: D:\Documents and Settings\Admin\Рабочий стол\Контра\Counter-strike Techno.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\Games\Counter-Strike Source v34 No Steam\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
[Icons]
Name: {group}\Русский Спецназ; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}
Name: {userdesktop}\Русский Спецназ; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Русский Спецназ}; Filename: {uninstallexe}
[Run]
Description: {cm:LaunchProgram, Русский Спецназ}; Filename: {app}\RUN_CSS.exe; WorkingDir: {app}; Flags: nowait postinstall skipifsilent unchecked
Filename: {src}\cstrike\materials\materials.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\materials\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\maps\maps.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\maps\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\sound\sound.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\sound\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\hl2\hl2.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\hl2\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
Filename: {src}\cstrike\models\models.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\cstrike\models\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated
[UninstallDelete]
Type: filesandordirs; Name: {app}
[_ISTool]
EnableISX=True
[Code]
type
HSTREAM=DWORD;
TTimerProc=procedure(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
const
BackGround=6;
Timer=16;
Indent=25;
var
MP3List:TStringList;
CurrentMP3:integer;
hMP3:HWND;
TimerID:LongWord;
function isxbb_AddImage(Image: PChar; Flags: Cardinal): integer; external 'isxbb_AddImage@files:isxbb.dll stdcall delayload';
function isxbb_Init(hWnd: Integer): integer; external 'isxbb_Init@files:isxbb.dll stdcall delayload';
function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): integer; external 'isxbb_StartTimer@files:isxbb.dll stdcall';
function isxbb_KillTimer(Flags: Cardinal): integer; external 'isxbb_KillTimer@files:isxbb.dll stdcall';
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';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
function SetTimer(hWnd:HWND;nIDEvent,uElapse:UINT;lpTimerFunc:LongWord{TFNTimerProc}):UINT; external 'SetTimer@user32.dll stdcall delayload';
function KillTimer(hWnd:HWND;uIDEvent:UINT):BOOL; external 'KillTimer@user32.dll stdcall delayload';
function BASS_ChannelIsActive(Handle:HWND):DWORD; external 'BASS_ChannelIsActive@files:bass.dll stdcall';
function BASS_SetConfig(Option,Value:DWORD):DWORD; external 'BASS_SetConfig@files:bass.dll stdcall';
function BASS_Init(Device:integer;Freq,Flags:DWORD;Win:HWND;CLSID:integer):boolean; external 'BASS_Init@files:bass.dll stdcall delayload';
function BASS_StreamCreateFile(Mem:BOOL;f:PChar;Offset:DWORD;Length:DWORD;Flags:DWORD):HSTREAM; external 'BASS_StreamCreateFile@files:bass.dll stdcall';
function BASS_StreamFree(Handle:HWND):boolean; external 'BASS_StreamFree@files:bass.dll stdcall';
function BASS_ChannelPlay(Handle:HWND;Restart:boolean):boolean; external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_Start: Boolean; external 'BASS_Start@files:bass.dll stdcall';
function BASS_Stop: Boolean; external 'BASS_Stop@files:bass.dll stdcall';
function BASS_Free: Boolean; external 'BASS_Free@files:bass.dll stdcall delayload';
function WrapTimerProc(CallBack:TTimerProc;ParamCount:integer):LongWord; external 'wrapcallback@files:innocallback.dll stdcall';
procedure TimerTick(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
begin
if BASS_ChannelIsActive(hMP3)=0 then begin
BASS_Stop;
BASS_StreamFree(hMP3);
hMP3:=BASS_StreamCreateFile(False,PChar(MP3List.Strings[CurrentMP3]),0,0,0);
BASS_Start;
if hMP3<>0 then
if BASS_ChannelPlay(hMP3,True) then begin
CurrentMP3:=CurrentMP3+1;
if CurrentMP3>MP3List.Count-1 then CurrentMP3:=0;
end;
end;
end;
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('Counter-strike Techno.mp3');
MP3List:=TStringList.Create;
MP3List.Add(ExpandConstant('{tmp}')+'\Counter-strike Techno.mp3');
CurrentMP3:=0;
Result:=True;
end;
procedure InitializeWizard;
begin
WizardForm.Position:=poScreenCenter;
MainForm.BorderStyle:=bsNone;
MainForm.Width:=GetSystemMetrics(0);
MainForm.Height:=GetSystemMetrics(1)+1;
MainForm.Top:=-1;
MainForm.Left:=0;
ExtractTemporaryFile('z2VSgHHNFs.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\z2VSgHHNFs.png',1000,3000,1000,0,255,False,$FFFFFF,10);
TimerID:=SetTimer(0,0,500,WrapTimerProc(@TimerTick,5));
BASS_Init(-1,44100,0,0,0);
BASS_SetConfig(5,100);
BASS_SetConfig(6,100);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('background3.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background3.jpg',BackGround or Timer);
ExtractTemporaryFile('background12.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background12.jpg',BackGround or Timer);
ExtractTemporaryFile('background8.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\background8.jpg',BackGround or Timer);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(10,BackGround)
MainForm.Visible:=True;
end;
if CurStep=ssPostInstall then begin
MainForm.Visible:=False;
isxbb_KillTimer(BackGround);
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(MainForm.Width-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(MainForm.Height-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if CurPageID=wpFinished then begin
WizardForm.Visible:=False;
WizardForm.Width:=502;
WizardForm.Height:=392;
WizardForm.Left:=(MainForm.Width-WizardForm.Width) div 2;
WizardForm.Top:=(MainForm.Height-WizardForm.Height) div 2;
WizardForm.Visible:=True;
end;
end;
procedure DeinitializeSetup;
begin
KillTimer(0,TimerID);
BASS_Stop;
BASS_Free;
MP3List.Free;
end;[/more]
AngelDead
читай шапку и исправляй:
Цитата:
по твоему коду - рядом с инсталлятором должны быть папки cstrike и hl2
читай шапку и исправляй:
Цитата:
Примечание для всех участников
Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.
по твоему коду - рядом с инсталлятором должны быть папки cstrike и hl2
Цитата:
AngelDead
читай шапку и исправляй:
Цитата:
Примечание для всех участников
Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.
по твоему коду - рядом с инсталлятором должны быть папки cstrike и hl2
Спасибо, только все равно не помогло.
AngelDead
не понятен смысл твоих манипуляций
если твои архивы устанавливаются в обязательном порядке, то добавь их в игру до сборки инсталлятора, потом собирай. и гемора меньше и размер игры меньше (ты же собираешься подменять стандартные материалы, модели, звуки и т.д.)
не понятен смысл твоих манипуляций
если твои архивы устанавливаются в обязательном порядке, то добавь их в игру до сборки инсталлятора, потом собирай. и гемора меньше и размер игры меньше (ты же собираешься подменять стандартные материалы, модели, звуки и т.д.)
AngelDead
для файлов *.exe, *.bat, *.com не надо писать флаг shellexec
для файлов *.exe, *.bat, *.com не надо писать флаг shellexec
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
Предыдущая тема: в очередной раз босудим антивиры?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.