Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Qarma
Дата сообщения: 08.05.2009 12:44
Кстати, не кто не знает как запихать видео в окошко установки как это сделано у EagleSH ?
Автор: spider91
Дата сообщения: 08.05.2009 13:00
Qarma


у и него спроси на фто или еще гдето.
Автор: BondDaniil00
Дата сообщения: 08.05.2009 13:05
spider91

а что у тебя там за текст? как ты этот чек создаешь?
Автор: spider91
Дата сообщения: 08.05.2009 13:16
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] наложил. но пропадает чекбокс а как создать новый незнаю
Автор: BondDaniil00
Дата сообщения: 08.05.2009 13:46
spider91

Что то там у тебя не так
Я так понимаю у тебя такой чек? = "Не создавать папку в меню пуск"

вот я вставляю в начале этой procedure InitializeWizard();
begin
with WizardForm do begin
Font.Color:=clWindow

затем уже свой код .....................

все строки в инстоляторе становятся белые
Автор: spider91
Дата сообщения: 08.05.2009 13:53
BondDaniil00


я так сразу сделал но ета не меняет цвет. все остальные белые
Автор: BondDaniil00
Дата сообщения: 08.05.2009 14:21
spider91
Хорошо, давай попорядку
ты хочешь сделать такой чек- "Не создавать папку в меню пуск"
Правильно?
Автор: spider91
Дата сообщения: 08.05.2009 14:28
BondDaniil00


ну да.
Автор: BondDaniil00
Дата сообщения: 08.05.2009 14:58
spider91

Создаешь ты ее так?
в секции [Setup] пишешь AllowNoIcons=true
и все.

Автор: spider91
Дата сообщения: 08.05.2009 15:09
BondDaniil00

пишу AllowNoIcons=yes и все

Добавлено:
проблему решил. в версии 5.3.0-unicode все оторажается нормально но при нажатии на любую кнопку появляется ето. что делать????
Автор: boss911
Дата сообщения: 08.05.2009 17:05
Вопрос снят, догадался сам. Можно удалить пост.

Получается, что если зашифровать инсталлятор через подсчет MD5, то все ровно знающий человек сможет найти необходимое число, которое подсчитывается, даже мне это удалось. Но вариант лучше, так найти это число в коде затруднительно.
Автор: spider91
Дата сообщения: 08.05.2009 17:52
все мой вопрос снимается. уже все работает
Автор: DeKaNszn
Дата сообщения: 08.05.2009 19:05
boss911

попробуй в строку добавить символы:

Код: [no]÷۽«-¯ąĺżŴǾǻǻљњ[/no]
Автор: spider91
Дата сообщения: 08.05.2009 19:23
можне ли зделать чтоб прогресс бар в XP был такимже как и в висте?
Автор: boss911
Дата сообщения: 08.05.2009 19:31
DeKaNszn

Сложно для меня это, мало что понял. Если можете, сразу полным примером в меня киньте. Спасибо.
Автор: DeKaNszn
Дата сообщения: 08.05.2009 20:25
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]

а в качестве пароля ставишь получившийся хэш
Автор: RazDray
Дата сообщения: 09.05.2009 00:49
Есть два набора файлов, которые должны устанавливаться в разные директории, соответственно нужны два запроса к пользователю для указания этих директорий.
Как такое можно реализовать? Вроде всё перерыл, но не нашёл.
Заранее спасибо :)
Автор: Qarma
Дата сообщения: 09.05.2009 09:45
RazDray
В коллекции скриптов есть такой пример.
Автор: Artem_Butenko
Дата сообщения: 09.05.2009 12:04
Ребята у кого достаточно знаний и времени, пожалуйста помогите разобраться с вопросами из предыдущей страницы. Вопрос 1: как защитить "тихий" инсталл компилируемый в Inno Setup от комбинации Alt+F4? Вопрос 2: как блокировать отображение окна "тихого" инсталла (Inno Setup) на панели задач, при переключении между окнами по Alt+Tab? Вопрос 3: как правильно завершить работу "тихого" инсталла без вывода сообщений, если ключ системного реестра (из которого извлекается путь установки) не найден? Вопрос 4: может есть специализированная утилита для создания "тихих" инсталляций? Стандартный скрипт отключения страниц в Inno Setup думаю знают все, а вот как его доработать, чтобы он удовлетворял первым трем критериям указанным выше, это наверное практически невозможно? Буду очень благодарен Вашей помощи!
Автор: ertw
Дата сообщения: 09.05.2009 15:03
Люди помогите это сделать

вот
вот сам репак плиз помогите
Автор: SotM
Дата сообщения: 09.05.2009 15:22
ertw
т.е. ты предлагаешь скачать этот репак?!?

Artem_Butenko
Будешь те же самые вопросы спрашивать на КАЖДОЙ странице?!
Автор: spider91
Дата сообщения: 09.05.2009 18:39
кто может мне помочь ч прогресс баром?
Автор: htuos
Дата сообщения: 09.05.2009 19:18
Artem_Butenko
если не ошибаюсь, то когда-то давно давал ответы на эти вопросы (в виде кода)
возможно даже тебе
попробуй поискать

ЗЫ все что ты просишь возможно
Автор: Artem_Butenko
Дата сообщения: 10.05.2009 01:48
htuos Вы правы, но теперь контекст вопросов несколько иной. Но, в некоторых аспектах вроде разобрался с доброй помощью. Посему вопрос снимаю.
Автор: SReg84
Дата сообщения: 10.05.2009 05:53
Добрые люди! Будьте так любезны, помогите пожалуйста чайнику в inno setup скриптом, мне необходимо в своем инсталяторе реализовать вот это http://s50.radikal.ru/i130/0905/50/76c6b15d28c7.jpg
т.е. перенести чекбоксы с последующих страниц установки на страницу выбора папок, а остальные отключить. Заранне очень Вам благодарен!
Автор: AngelDead
Дата сообщения: 10.05.2009 08:40
Люди! Помогите! Никак не пойму как в инно сделать чтобы во время инсталляции распаковывались архивы или 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]
Автор: DeKaNszn
Дата сообщения: 10.05.2009 08:46
AngelDead

читай шапку и исправляй:

Цитата:
Примечание для всех участников

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.


по твоему коду - рядом с инсталлятором должны быть папки cstrike и hl2
Автор: AngelDead
Дата сообщения: 10.05.2009 09:40

Цитата:
AngelDead

читай шапку и исправляй:

Цитата:
Примечание для всех участников

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.


по твоему коду - рядом с инсталлятором должны быть папки cstrike и hl2

Спасибо, только все равно не помогло.

Автор: htuos
Дата сообщения: 10.05.2009 11:14
AngelDead
не понятен смысл твоих манипуляций
если твои архивы устанавливаются в обязательном порядке, то добавь их в игру до сборки инсталлятора, потом собирай. и гемора меньше и размер игры меньше (ты же собираешься подменять стандартные материалы, модели, звуки и т.д.)
Автор: DeKaNszn
Дата сообщения: 10.05.2009 12:12
AngelDead

для файлов *.exe, *.bat, *.com не надо писать флаг shellexec

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: в очередной раз босудим антивиры?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.