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

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

Автор: ILIA1992
Дата сообщения: 22.05.2011 11:54

Цитата:
troyan90

так мне нужно поставить надо DiskSpanning=no
Автор: troyan90
Дата сообщения: 22.05.2011 12:12
ILIA1992
угу. или переименовать архивы
Автор: ILIA1992
Дата сообщения: 22.05.2011 12:21

Цитата:
ILIA1992
угу. или переименовать архивы


я так и сделал,всё работает.Осталось только в через исо создать образ и можно вылаживать
Автор: vintage 1
Дата сообщения: 22.05.2011 12:26
Парни есть вопрос
1. Как сделать ОТКАТ УСТАНОВКИ с использованием Abort в секции CurStepChanged(CurStep: TSetupStep);
ЗЫ а то ошибочка у меня вылетает [more=Ошибка]http://i11.fastpic.ru/big/2011/0522/31/c0fa63cc922724f4ec32a5eb70890331.png[/more]

2. Как добавить в секцию CurStepChanged(CurStep: TSetupStep); как в ISDone: Exec(ExpandConstant('{uninstallexe}'), '/VERYSILENT','', sw_Hide, ewWaitUntilTerminated, tmp);

[more=Делаю я так]procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssInstall
then
begin
MsgBox('12212', mbInformation, MB_OK);
Abort;
Exec(ExpandConstant('{uninstallexe}'), '/VERYSILENT','', sw_Hide, ewWaitUntilTerminated, tmp);
end;
end;
end;
[/more]
ЗЫ за помощь спасибо.




Автор: Shegorat
Дата сообщения: 22.05.2011 12:46
vintage 1 13:26 22-05-2011
Цитата:
1. Как сделать  ОТКАТ УСТАНОВКИ  с использованием Abort в секции CurStepChanged(CurStep: TSetupStep); ЗЫ а то ошибочка у меня вылетает Ошибка [?]

А кто тебе сказал, что процедура Abort вызывает откат установки?
vintage 1 13:26 22-05-2011
Цитата:
2. Как добавить в секцию CurStepChanged(CurStep: TSetupStep); как в ISDone: Exec(ExpandConstant('{uninstallexe}'), '/VERYSILENT','', sw_Hide, ewWaitUntilTerminated, tmp);

Точно так же как и в ISDone, создаешь условие допустим на распаковку архивов, если условие не выполняется вызываешь деинсталятор.
Автор: moonlight82
Дата сообщения: 22.05.2011 13:48
Протестируйте инсталл...
http://rghost.ru/7411541
Автор: serg_aka_lain
Дата сообщения: 22.05.2011 13:50
aklak

Цитата:
как сделать так чтобы каждый архив был отдельным компонентом и если не было бы определенного архива, то соответственно на странице выбора не был бы виден этот компонент.

Это так ?
Автор: AntonOVS
Дата сообщения: 22.05.2011 14:27
Вот, столкнулся с такой ошибкой:

Помогите исправить...
Скрипт:
[more]#define AppId "{{287A12F0-915C-492F-867E-9511075DB83D}"
#define MyAppName "Need for Speed(TM) Hot Pursuit"

#define NeedSize "4936"
#define TotalNeedSize "8162"

#define NeedMem "600"

#define FinishImage "2.bmp"

#define MyAppExeName "NFS11.exe"
#define path "{app}\NFS11.exe"
#define IconFile "NFSHP.ico"

;#define Components

;#define FirewallInstallHelper

#define SecondProgressBar

;#define records
;#define precomp04
;#define precomp038
;#define unrar

[Setup]
AppId={#AppId}
AppName={#MyAppName}
AppVerName={#MyAppName}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=Setup
Compression=none
SolidCompression=true
AllowNoIcons=true
VersionInfoCopyright=AntonOVS
SetupIconFile=Files\{#IconFile}
WizardImageFile=Files\WizardImage.bmp
WizardSmallImageFile=Files\WizardSmallImage.bmp
DirExistsWarning=no
UninstallFilesDir={app}\Uninstall
ShowTasksTreeLines=true
#ifdef NeedSize
ExtraDiskSpaceRequired={#TotalNeedSize}
#endif

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

[CustomMessages]
rus.ExtractedFile=Извлекается файл:
rus.Extracted=Распаковка архивов...
rus.Error=Ошибка распаковки!
rus.ElapsedTime=Прошло времени:
rus.RemainingTime=Осталось времени:
rus.EstimatedTime=Всего:
rus.AllElapsedTime=Время установки:
rus.Welcome1=Вас приветствует %nМастер установки игры %n{#MyAppName}
rus.Welcome2=Программа установит игру %n{#MyAppName} на Ваш компьютер.%n%nРекомендуется закрыть антивирусные пакеты, %nа также все прочие приложения перед тем, %nкак продолжить.%n%n%nНажмите «Далее», чтобы продолжить, или %n«Отмена», чтобы выйти из программы установки.
rus.Finished1=Установка игры %n{#MyAppName} %nуспешно завершена.
rus.Finished2=Игра {#MyAppName} %nбыла успешно установлена на Ваш компьютер. %n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск» или на Рабочем столе.
rus.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.
rus.ISDoneFinishedHeading=Установка игры %n{#MyAppName} %nне завершена!
rus.ISDoneTitleBack=Откат установки...
rus.DeleteSave=Удалить сохраненные игры и профили?

[Files]
Source: Files\*; Flags: dontcopy
Source: Files\ISDone.dll; DestDir: {tmp}; Flags: dontcopy
Source: Files\facompress.dll; DestDir: {tmp}; Flags: dontcopy
Source: Files\facompress_mt.dll; DestDir: {tmp}; Flags: dontcopy
Source: Files\5.ico; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system
#ifdef FirewallInstallHelper
Source: Files\FirewallInstallHelper.dll; DestDir: {app}; Flags: ignoreversion
#endif
;Source: Include\arc.ini; DestDir: {tmp}; Flags: dontcopy
;Source: Include\srep.exe; DestDir: {tmp}; Flags: dontcopy
;Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs; Check: CheckError;
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp04
Source: Files\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Files\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Files\precomp04.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp038
Source: Files\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Files\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Files\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Files\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef unrar
Source: Files\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif

#ifdef Components
[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
Name: voice\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
Name: voice\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000
#endif

[Registry]
Root: HKLM; Subkey: SOFTWARE\Electronic Arts; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: DisplayName; ValueType: String; ValueData: Need for Speed(TM) Hot Pursuit; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: CD Drive; ValueType: String; ValueData: {drive:{src}}; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: ProductName; ValueType: String; ValueData: Need for Speed(TM) Hot Pursuit; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Folder; ValueType: String; ValueData: {group}\Need for Speed(TM) Hot Pursuit\; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Install Dir; ValueType: String; ValueData: {app}\; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Installed From; ValueType: String; ValueData: {drive:{src}}; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Locale; ValueType: String; ValueData: ru; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Language; ValueType: String; ValueData: Russian; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Product GUID; ValueType: String; ValueData: {{83A606F5-BF6F-42ED-9F33-B9F74297CDED}; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Suppression Exe; ValueType: String; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit; ValueName: Registration; ValueType: String; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit\1.0; ValueName: DisplayName; ValueType: String; ValueData: Need for Speed(TM) Hot Pursuit; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit\1.0; ValueName: Language; ValueType: Dword; ValueData: $10; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit\1.0; ValueName: LanguageName; ValueType: String; ValueData: Russian; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError
Root: HKLM; Subkey: SOFTWARE\Electronic Arts\Need for Speed(TM) Hot Pursuit\1.0; ValueName: ProgramGroup; ValueType: String; ValueData: {group}\Electronic Arts\; Flags: uninsdeletevalue uninsdeletekeyifempty; Check: CheckError

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\Launcher.exe; WorkingDir: {app}; IconFilename: {#path}; Comment: {#MyAppName}; Check: CheckError
Name: {group}\Настройки; Filename: {app}\ConfigTool.exe; WorkingDir: {app}; IconFilename: {#path}; Comment: Настройки игры; Check: CheckError
Name: {group}\Удалить игру; Filename: {uninstallexe}; WorkingDir: {app}\Uninstall\; IconFilename: {app}\5.ico; Comment: Удалить игру {#MyAppName}; Check: CheckError
Name: {commondesktop}\{#MyAppName}; Filename: {app}\Launcher.exe; WorkingDir: {app}; IconFilename: {#path}; Comment: {#MyAppName}; Check: CheckError

[Tasks]
Name: desktopicon; Description: Добавить ярлык на рабочий стол; GroupDescription: Создание ярлыков:
Name: Redist; Description: Дополнительное программное обеспечение:
Name: Redist\VCCheck; Description: Установить Microsoft Visual C++ 2005 Redist
Name: Redist\PhysXCheck; Description: Установить Nvidia PhysX

[Run]
Filename: {src}\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: Устанавливаем Microsoft Visual C++ 2005 Redist...; Flags: skipifdoesntexist; Tasks: VCCheck; Check: CheckError
Filename: {src}\Redist\PhysX.exe; Parameters: /q; StatusMsg: Устанавливаем Nvidia PhysX...; Flags: skipifdoesntexist; Tasks: PhysXCheck; Check: CheckError

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

[Code]
const
PCFonFLY=true;
oneMb = 1048576;
notPCFonFLY=false;
var
LabelPct1,LabelCurrFileName,LabelTime1,LabelTime2,LabelTime3,LabelTime4,PageNameLabel,PageNameLabel1,PageDescriptionLabel,
PageDescriptionLabel1,WelcomeLabel1,WelcomeLabel2,WelcomeLabel3,WelcomeLabel4,TotalNeedSpaceLabel,NeedSpaceLabel,FreeSpaceLabel,
FinishedHeadingLabel,FinishedHeadingLabel1,FinishedLabel,FinishedLabel1,FinishedLabel2,FinishedLabel3,StatusLabel: TLabel;
BmpFile: TBitmapImage;
ISDoneProgressBar1: TNewProgressBar;
#ifdef SecondProgressBar
LabelPct2: TLabel;
ISDoneProgressBar2:TNewProgressBar;
#endif
MyCancelButton: TButton;
FreeMB, TotalMB: Cardinal;
MyError:boolean;
PCFVer:double;
NeedSize, TotalNeedSize,Cancel: Integer;
path, name: String;

type
TCallback = function (OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;

function ISArcExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: BOOL ):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISRarExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'ISRarExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
function ISDoneInitialize(RecordFileName:AnsiString; TimeType,Comp1,Comp2,Comp3:longword; PrecompVers: double; RecursiveSubDir:boolean; WinHandle, NeededMem:longint; callback:TCallback):BOOL; external 'ISDoneInitialize@files:ISDone.dll stdcall';
function ISDoneStop:BOOL; external 'ISDoneStop@files:ISDone.dll stdcall';
#ifdef FirewallInstallHelper
function AddApplicationToExceptionList(path: String; name: String): Boolean; external 'AddApplicationToExceptionListA@files:FirewallInstallHelper.dll stdcall setuponly';
function RemoveApplicationFromExceptionList(path: String): Boolean; external 'RemoveApplicationFromExceptionListA@{app}\FirewallInstallHelper.dll stdcall uninstallonly';
#endif

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
if OveralPct<=1000 then ISDoneProgressBar1.Position := OveralPct;
LabelPct1.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';
#ifdef SecondProgressBar
if CurrentPct<=1000 then
ISDoneProgressBar2.Position := CurrentPct;
LabelPct2.Caption := IntToStr(CurrentPct div 10)+'.'+chr(48 + CurrentPct mod 10)+'%';
#endif
LabelCurrFileName.Caption:=MinimizePathName(ExpandConstant('{cm:ExtractedFile} ')+CurrentFile, LabelCurrFileName.Font, LabelCurrFileName.Width);
LabelTime1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2;
LabelTime2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1;
LabelTime3.Caption:=ExpandConstant('{cm:AllElapsedTime} ')+TimeStr3;
LabelTime4.Caption:=ExpandConstant('{cm:AllElapsedTime} ')+TimeStr3;
Result := Cancel;
end;

// Перевод числа в строку с точностью 3 знака (%.3n) с округлением дробной части, если она есть
Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.2n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
SetLength(Result, Length(Result)-1);
End;

Function Size64(Hi, Lo: Integer): Extended;
Begin
Result:= Lo;
if Lo<0 then Result:= Result + $7FFFFFFF + $7FFFFFFF + 2;
for Hi:= Hi-1 Downto 0 do
Result:= Result + $7FFFFFFF + $7FFFFFFF + 2;
End;

procedure CancelButtonOnClick(Sender: TObject);
begin
if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:=1;
end;

//******************************************* [ начало изображения 497 360 ] ***************************************************//

procedure Images_labels();
var
Page: TWizardPage;
begin
WizardForm.WizardBitmapImage.Width:=497
WizardForm.WelcomeLabel1.Visible:=False
WizardForm.WelcomeLabel2.Visible:=False
WizardForm.WizardBitmapImage2.Visible:=False
WizardForm.FinishedLabel.Visible:=False
WizardForm.FinishedHeadingLabel.Visible:=False

//******************************************* [ конец 497 360 изображения ] ***************************************************//

//******************************************* [ начало 497 58 изображения ] ***************************************************//

PageNameLabel:= TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left:= WizardForm.PageNameLabel.Left;
Top:= WizardForm.PageNameLabel.Top;
Width:= WizardForm.PageNameLabel.Width;
Height:= WizardForm.PageNameLabel.Height;
AutoSize:= False;
WordWrap:= True;
Font.Name:= WizardForm.PageNameLabel.Font.Name;
Font.Style:= [fsBold];
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;

PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= WizardForm.PageDescriptionLabel.Left-12;
Top:= WizardForm.PageDescriptionLabel.Top;
Height:= WizardForm.PageDescriptionLabel.Height;
Width:= ScaleX(260);
AutoSize:= False;
WordWrap:= True;
Font.Name:= WizardForm.PageDescriptionLabel.Font.Name;
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;


//******************************************* [конец 497 58 изображения ] ***************************************************//

ExtractTemporaryFile('{#FinishImage}');

BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\{#FinishImage}'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(497);
BmpFile.Height:= ScaleY(313);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.FinishedPage;

////////////////////// begin WelcomePage //////////////////////

WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(-26), ScaleY(31), ScaleX(550), ScaleY(70));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 14;
Font.Color:=$000000;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}');
Parent:=WizardForm.WelcomePage;
end;
WelcomeLabel2:= TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(-27), ScaleY(30), ScaleX(550), ScaleY(70));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 14;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}');
Parent:=WizardForm.WelcomePage;
end;

WelcomeLabel3:=TLabel.Create(WizardForm);
with WelcomeLabel3 do begin
AutoSize:=False;
SetBounds(ScaleX(-26), ScaleY(121), ScaleX(550), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;
WelcomeLabel4:=TLabel.Create(WizardForm);
with WelcomeLabel4 do begin
AutoSize:=False;
SetBounds(ScaleX(-27), ScaleY(120), ScaleX(550), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;

////////////////////// end WelcomePage //////////////////////

////////////////////// begin SelectDirPage //////////////////////

WizardForm.DirEdit.Text:= MinimizePathName(WizardForm.DirEdit.Text, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width);

////////////////////// end SelectDirPage //////////////////////

////////////////////// begin FinishedPage //////////////////////

FinishedHeadingLabel:= TLabel.Create(WizardForm);
with FinishedHeadingLabel do begin
SetBounds(ScaleX(-29), ScaleY(11), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$00000;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;
FinishedHeadingLabel1:= TLabel.Create(WizardForm);
with FinishedHeadingLabel1 do begin
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$FFFFFF;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;

FinishedLabel:=TLabel.Create(WizardForm);
with FinishedLabel do begin
AutoSize:=False;
SetBounds(ScaleX(26), ScaleY(121), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel1:=TLabel.Create(WizardForm);
with FinishedLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(120), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel2:=TLabel.Create(WizardForm);
with FinishedLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(26), ScaleY(261), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;
FinishedLabel3:=TLabel.Create(WizardForm);
with FinishedLabel3 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(260), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;
end;

////////////////////// end FinishedPage //////////////////////

//******************************************* [ начало Место для установки ] ***************************************************//

Function MbOrTb(Byte: Extended): String;
begin
if Byte < 1024 then Result:= NumToStr(Byte) + ' Мб' else
if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' Гб' else
Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' Тб'
end;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
NeedSpaceLabel.Caption := 'Игра займет на диске: '+ MbOrTb(NeedSize)
TotalNeedSpaceLabel.Caption := 'Для распаковки требуется: '+ MbOrTb(TotalNeedSize)
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ MbOrTb(FreeMB)
WizardForm.NextButton.Enabled:= (FreeMB>TotalNeedSize);
if (FreeMB<TotalNeedSize) then
FreeSpaceLabel.Font.Color:=clRed else
FreeSpaceLabel.Font.Color:=$000000;
end;

procedure SpaceLabel();
begin
NeedSize := {#NeedSize};
TotalNeedSize := {#TotalNeedSize};

WizardForm.DiskSpaceLabel.Hide;

FreeSpaceLabel := TLabel.Create(WizardForm);
FreeSpaceLabel.Parent := WizardForm.SelectDirPage;
FreeSpaceLabel.SetBounds(ScaleX(5), ScaleY(180), ScaleX(209), ScaleY(13));

TotalNeedSpaceLabel := TLabel.Create(WizardForm);
TotalNeedSpaceLabel.Parent := WizardForm.SelectDirPage;
TotalNeedSpaceLabel.SetBounds(ScaleX(5), ScaleY(200), ScaleX(209), ScaleY(13));

NeedSpaceLabel := TLabel.Create(WizardForm);
NeedSpaceLabel.Parent := WizardForm.SelectDirPage;
NeedSpaceLabel.SetBounds(ScaleX(5), ScaleY(220), ScaleX(209), ScaleY(13));

WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
end;

//******************************************* [ конец Место для установки ] ***************************************************//

//******************************************* [ начало элементы ISDone ] ***************************************************//

procedure HideComponents;
begin
ISDoneProgressBar1.Hide;
LabelPct1.Hide;
LabelCurrFileName.Hide;
LabelTime1.Hide;
LabelTime2.Hide;
MyCancelButton.Hide;
#ifdef SecondProgressBar
ISDoneProgressBar2.Hide;
LabelPct2.Hide;
#endif
end;

procedure ShowComponents;
var PBTop:integer;
begin
PBTop:=WizardForm.ProgressGauge.Top;
ISDoneProgressBar1 := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar1 do begin
Parent := WizardForm.InstallingPage;
Left := ScaleX(0);
Top := PBTop;
Width := ScaleX(365);
Max := 1000;
Height := WizardForm.ProgressGauge.Height;
end;
LabelPct1 := TLabel.Create(WizardForm);
with LabelPct1 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Left := ISDoneProgressBar1.Width+10;
Top := ISDoneProgressBar1.Top + 4;
Width := ScaleX(80);
end;
LabelCurrFileName := TLabel.Create(WizardForm);
with LabelCurrFileName do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := ISDoneProgressBar1.Width+ScaleX(30);
Left := ScaleX(0);
Top := WizardForm.FileNamelabel.Top;
end;
#ifdef SecondProgressBar
PBTop:=PBTop+ScaleY(25);
ISDoneProgressBar2 := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar2 do begin
Parent := WizardForm.InstallingPage;
Left := ScaleX(0);
Top := PBTop+ScaleY(8);
Width := ISDoneProgressBar1.Width;
Max := 1000;
Height := WizardForm.ProgressGauge.Height;
end;
LabelPct2 := TLabel.Create(WizardForm);
with LabelPct2 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Left := ISDoneProgressBar2.Width+ScaleX(10);
Top := ISDoneProgressBar2.Top + ScaleY(4);
Width := ScaleX(80);
end;
#endif
LabelTime1 := TLabel.Create(WizardForm);
with LabelTime1 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := 300;
Left := ScaleX(0);
Top := PBTop + ScaleY(35);
end;
LabelTime2 := TLabel.Create(WizardForm);
with LabelTime2 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := 300;
Left := ScaleX(0);
Top := PBTop + ScaleY(55);
end;
LabelTime3 := TLabel.Create(WizardForm);
with LabelTime3 do begin
Parent := WizardForm.FinishedPage;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
AutoSize := False;
Alignment := taCenter;
Width := 450;
Left := 27;
Top := 222;
end;
LabelTime4 := TLabel.Create(WizardForm);
with LabelTime4 do begin
Parent := WizardForm.FinishedPage;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style := [fsBold, fsItalic];
AutoSize := False;
Alignment := taCenter;
Width := 450;
Left := 25;
Top := 220;
end;
StatusLabel := TLabel.Create(WizardForm);
with StatusLabel do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := 300;
Left := WizardForm.StatusLabel.Left;
Top := WizardForm.StatusLabel.Top;
Caption := ExpandConstant('{cm:ISDoneTitleBack}');
end;
MyCancelButton:=TButton.Create(WizardForm);
with MyCancelButton do begin
Parent:=WizardForm;
Width:=WizardForm.Cancelbutton.Width;
Caption:=WizardForm.Cancelbutton.Caption;
Left:=WizardForm.Cancelbutton.Left;
Top:=WizardForm.Cancelbutton.top;
OnClick:=@CancelButtonOnClick;
end;
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
if CurPageID = wpSelectDir then GetFreeSpaceCaption(nil);
if (CurPageID = wpFinished) and MyError then
begin
LabelTime3.Hide;
LabelTime4.Hide;
WizardForm.Caption:= ExpandConstant('{cm:Error}');
FinishedHeadingLabel.Caption:= ExpandConstant('{cm:ISDoneFinishedHeading}');
FinishedHeadingLabel.Font.Color:= $000000;
FinishedHeadingLabel1.Caption:= ExpandConstant('{cm:ISDoneFinishedHeading}');
FinishedHeadingLabel1.Font.Color:= $0000C0; // red (красный)
FinishedLabel.Font.Color:= $000000;
FinishedLabel.Caption:= SetupMessage(msgSetupAborted) ;
FinishedLabel1.Font.Color:= $0000C0;
FinishedLabel1.Caption:= SetupMessage(msgSetupAborted) ;
end;
end;

function CheckError:boolean;
begin
result:= not MyError;
end;

procedure UnpackingISDone(CurStep: TSetupStep);
var Comps1,Comps2,Comps3, TmpValue:longword;
tmp:integer;
begin
if CurStep = ssInstall then begin //Если необходимо, можно поменять на ssPostInstall
WizardForm.FileNamelabel.Hide;
WizardForm.ProgressGauge.Hide;
WizardForm.CancelButton.Hide;
ShowComponents;
WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:Extracted}');
Cancel:=0;

// Распаковка всех необходимых файлов в папку {tmp}.

ExtractTemporaryFile('facompress.dll'); //ускоряет распаковку .arc архивов.
ExtractTemporaryFile('facompress_mt.dll'); //ускоряет распаковку .arc архивов.
// ExtractTemporaryFile('arc.ini');
// ExtractTemporaryFile('srep.exe');

#ifdef records
ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp04
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp04.exe');
#endif
#ifdef precomp038
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp038.exe');
ExtractTemporaryFile('zlib1.dll');
#endif
#ifdef unrar
ExtractTemporaryFile('Unrar.dll');
#endif

// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 4
// .....
#endif

#ifdef precomp04
PCFVer:=0.4;
#else
#ifdef precomp038
PCFVer:=0.38;
#else
PCFVer:=0;
#endif
#endif
repeat
MyError:=true;
if not ISDoneInitialize(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, PCFVer, false, MainForm.Handle, {#NeedMem}, @ProgressCallback) then break;
repeat

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.bin'), ExpandConstant('{app}'), false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

// далее находятся закомментированые примеры различных комбинаций параметров и функций распаковки

//if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data64.7z'), ExpandConstant('{app}'), false, '' ) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data.srp'),ExpandConstant('{app}\data.pcf'), true ) then break;
//if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data64.arc'), ExpandConstant('{app}\'), true, '', '', '',notPCFonFLY ) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data.pcf'), ExpandConstant('{app}\data.7z'), true ) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\data.7z'), ExpandConstant('{app}\'), true, '' ) then break;

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data1.bin'), ExpandConstant('{app}'), false, '', '', '',notPCFonFLY ) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data2.bin'), ExpandConstant('{app}'), false, '', '', '',notPCFonFLY ) then break;
(* if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data1\CODMW2.srep'), ExpandConstant('{app}\data1\CODMW2.pcf'), true ) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data1\CODMW2.pcf'), ExpandConstant('{app}\data1\CODMW2.7z'), true ) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\data1\CODMW2.7z'), ExpandConstant('{app}\data1'), true, '' ) then break;

// примеры использования компонентов и всплывающего запроса следующего диска:

if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc' ) then break;
if not ISArcExtract ( 1, 0, ExpandConstant('{src}\rustext.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\engtext.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
if not ISArcExtract ( 3, 0, ExpandConstant('{src}\rusvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
if not ISArcExtract ( 4, 0, ExpandConstant('{src}\engvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
if not ShowChangeDiskWindow('Пожалуйста, вставьте первый диск и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW_2.arc' ) then break;

// просто различные комбинации параметров в функциях распаковки

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\sds_ru2.arc'), ExpandConstant('{app}\data1'), false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\sds_ru.arc'), ExpandConstant('{app}\data1'), false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;

if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data1\*.pcf'), ExpandConstant('{src}\data1'), false) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data1\sds_ru.7z'), ExpandConstant('{src}\data1'), true, '') then break;

if not ISRarExtract ( 0, 0, ExpandConstant('{src}\data_*.rar'), ExpandConstant('{app}'), false, '' ) then break;
if not ISRarExtract ( 0, 0, ExpandConstant('{src}\*part1.rar'), ExpandConstant('{app}'), false, 'Password' ) then break;

if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data*.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\sound.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;

if not ISArcExtract ( 0, 33, ExpandConstant('{src}\dataR.arc'), ExpandConstant('{app}\data1'), false, '', '', '',notPCFonFLY) then break;
if not ISArcExtract ( 0, 33, ExpandConstant('{src}\CODMW_*.arc'), ExpandConstant('{app}\data1'), false, '', '', '',notPCFonFLY) then break;
if not ISArcExtract ( 0, 34, ExpandConstant('{src}\dataR.arc'), ExpandConstant('{app}\data1\'), false, '', '', '',notPCFonFLY) then break;

if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\*.pcf'), ExpandConstant('{app}\data1'), false) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data0.pcf'), ExpandConstant('{app}\data1'), false) then break;

if not ISSRepExtract ( 0, 0, ExpandConstant('{src}\*.srep'), ExpandConstant('{app}\data1\'), false) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{src}\data02.srep'), ExpandConstant('{app}\data1\data.pcf'), false) then break;
*)
MyError:=false;
until true;
ISDoneStop;
until true;
HideComponents;
WizardForm.ProgressGauge.Show;
WizardForm.FileNamelabel.Show;
WizardForm.CancelButton.Visible:=true;
WizardForm.CancelButton.Enabled:=false;
end;
if (CurStep=ssPostInstall) and MyError then begin
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, tmp);
end;
end;

//******************************************* [ конец элементы ISDone ] ***************************************************//

//================== Удаление сохранений ==================//

procedure DeleteSavedGames(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usUninstall then
if DirExists(ExpandConstant('{userdocs}')+'\Criterion Games\{#MyAppName}') then
if MsgBox(ExpandConstant('{cm:DeleteSave}'), mbInformation, MB_YESNO) = idYes then
DelTree(ExpandConstant('{userdocs}')+'\Criterion Games\{#MyAppName}', True, True, True)
end;

//================== Удаление сохранений ==================//

procedure InitializeWizard();
begin
Images_labels;
SpaceLabel;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
#ifdef FirewallInstallHelper
if CurStep = ssPostInstall then
begin
path:=ExpandConstant('{#path}');
name:=ExpandConstant('{#MyAppName}');
AddApplicationToExceptionList(path, name);
end;
#endif
UnpackingISDone(CurStep);
if MyError then begin
WizardForm.StatusLabel.Hide;
StatusLabel.Show;
WizardForm.FileNamelabel.Hide;
WizardForm.ProgressGauge.Hide;
HideComponents;
end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
DeleteSavedGames(CurUninstallStep);
#ifdef FirewallInstallHelper
if CurUninstallStep=usUninstall then
begin
path:=ExpandConstant('{#path}');
RemoveApplicationFromExceptionList(path)
UnloadDll(ExpandConstant('{app}\FirewallInstallHelper.dll'));
end;
#endif
end;[/more]
И в этот же скрипт помогите добавить DirectX.
Заранее благодарен.
Автор: Shegorat
Дата сообщения: 22.05.2011 14:49
AntonOVS 15:27 22-05-2011
Цитата:
Вот, столкнулся с такой ошибкой:

Переводить не пробовал? Параметр Tasks содержит неизвестную задачу, т.е проверь соответствие названий в секции Tasks и в секции Run
Автор: shidow
Дата сообщения: 22.05.2011 14:54
AntonOVS
[more][Tasks]
Name: desktopicon; Description: Добавить ярлык на рабочий стол; GroupDescription: Создание ярлыков:
Name: Redist; Description: Дополнительное программное обеспечение:
Name: Redist\VCCheck; Description: Установить Microsoft Visual C++ 2005 Redist
Name: Redist\PhysXCheck; Description: Установить Nvidia PhysX

[Run]
Filename: {src}\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: Устанавливаем Microsoft Visual C++ 2005 Redist...; Flags: skipifdoesntexist; Tasks: Redist\VCCheck; Check: CheckError
Filename: {src}\Redist\PhysX.exe; Parameters: /q; StatusMsg: Устанавливаем Nvidia PhysX...; Flags: skipifdoesntexist; Tasks: Redist\PhysXCheck; Check: CheckError[/more]
Автор: AntonOVS
Дата сообщения: 22.05.2011 14:55
Shegorat
Все понял, в секции Run написано "Tasks: PhysXCheck" хотя в секции Tasks написано "Redist\PhysXCheck".
Просто изменил "Redist\PhysXCheck" на "PhysXCheck" - все запустилось.
Не поможете добавить DirectX в установку ? (Явно этот вопрос уже обсуждался много раз)
Автор: tema001
Дата сообщения: 22.05.2011 15:31
<<< вот процедура кнопки отмены
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin

Confirm := False;
MyExitMessage();
if Cancel then AllCancel;
if MyExit.ShowModal() = mrCancel then
Cancel := False;
end;

+этот скрипт отдельно подключаается, что делать?

Автор: aklak
Дата сообщения: 22.05.2011 20:14
serg_aka_lain

Цитата:
aklak
как сделать так чтобы каждый архив был отдельным компонентом и если не было бы определенного архива, то соответственно на странице выбора не был бы виден этот компонент.
Это так ?

Да, это что-то похожее) а можешь дать скрипт? Заранее спасибо)
Автор: PavZver
Дата сообщения: 22.05.2011 20:36
В unarc.dll распаковка архива идет рывками (точнее началом-0-5% и сразу 100% когда распаковка заканчивается) прогресс бар никогда не становился например на 22% или 87% или любых других.
как это исправить или задать параметр какой-то.
Автор: R3Pa4eK
Дата сообщения: 22.05.2011 20:40
PavZver
А что используешь для распаковки? Какой скрипт?
Автор: PavZver
Дата сообщения: 22.05.2011 20:47
R3Pa4eK
твой)
только под себя переделал немного (вид)
вот
http://rghost.ru/7463611
так вот оно стоит на протяжении трех минут (пока не распакуется архив)
http://i17.fastpic.ru/big/2011/0522/b7/ff0154976d3dd379d7d4984e854bf3b7.png
а потом бац и полный прогресс бар уже)
Автор: nik1967_forever
Дата сообщения: 22.05.2011 20:52
как убрать стандартный текст на кнопках
http://i4.imageban.ru/out/2011/05/22/5cf99329a88f0917666bd0087c90462e.png
Автор: R3Pa4eK
Дата сообщения: 22.05.2011 20:54
PavZver
На самом деле unarc.dll это тот-же arc.exe, только переименованный. Прогресс-бар тут не может быть плавный.

Добавлено:
nik1967_forever
Procedure CurPageChanged(CurPageID: Integer);
Begin
WizardForm.NextButton.Caption:='';
WizardForm.BackButton.Caption:='';
WizardForm.Cancel.Button.Caption:='';
WizardForm.DirBrowseButton.Caption:='';
WizardForm.GroupBrowseButton.Caption:='';
end;
Автор: Begun999
Дата сообщения: 22.05.2011 20:59

Цитата:
Подскажите в чём проблема????
Создаю iso образ, распаковываются только архивы, которые сжимались фриарком.
Запускаю напрямую setup - всё нормально, игра устанавливается!!!

Так никто не знает????
Автор: serg_aka_lain
Дата сообщения: 22.05.2011 21:05
aklak

Цитата:
Да, это что-то похожее) а можешь дать скрипт? Заранее спасибо)

Именно это, будет [more=Так]

[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.

[Components]
Name: arch1; Description: MyProg; Types: full compact custom; Check: getarch1;
Name: arch2; Description: MyProg-x64; Types: full compact custom; Check: getarch2;

[Code]
function getarch1(): Boolean;
begin
if FileExists(ExpandConstant('{src}\MyProg.exe')) then
Result := True;
end;

function getarch2(): Boolean;
begin
if FileExists(ExpandConstant('{src}\MyProg-x64.exe')) then
Result := True;
end;
[/more]
Автор: PavZver
Дата сообщения: 22.05.2011 21:10
R3Pa4eK
тогда еще одна вещь
На вин7 аэро выглядит так (все красиво)
http://i13.fastpic.ru/big/2011/0521/7a/8f9c04511c4af487904f2677a1d2897a.png
а на классической теме вот так (внимание на папку)
жескарь по моему замыслу) так и должен выглядеть.
http://i17.fastpic.ru/big/2011/0522/30/28e5b8aa5305c2a2afa8d9757a0b2c30.png

знаю что надо сделать в png причем чтобы была прозрачность. сделал. прописал вместо bmp png
но вот сетапник запускаться не хочет, потому что это png а не bitmap.
что и куда надо прописать чтобы все это заработало)

З.Ы. знаю еще один способ.
написать общий цвет для инсталла. типа так color="black"
но как я знаю цвет например f3b4b4 (это модификация розового) не поставить (или можно? если да то как?)
Автор: Edison007007
Дата сообщения: 22.05.2011 22:01

Цитата:
знаю что надо сделать в png причем чтобы была прозрачность. сделал. прописал вместо bmp png
но вот сетапник запускаться не хочет, потому что это png а не bitmap.
что и куда надо прописать чтобы все это заработало)

Botva2.dll в помощь


Цитата:
З.Ы. знаю еще один способ.
написать общий цвет для инсталла. типа так color="black"
но как я знаю цвет например f3b4b4 (это модификация розового) не поставить (или можно? если да то как?)


Можно так: Clцвет
Например: clWhite, clBlack, clGreen...
Автор: nik1967
Дата сообщения: 22.05.2011 22:09

Цитата:
но как я знаю цвет например f3b4b4 (это модификация розового) не поставить (или можно? если да то как?)

Color:= $b4b4f3;
Автор: Begun999
Дата сообщения: 22.05.2011 22:48
Подскажите, что за ошибка? http://mypix.me/images/kwnc87wrii9vit3gxap.png
Автор: Zloy_Gelud
Дата сообщения: 22.05.2011 22:58
Begun999 -- передаешь неправильные параметры для запуска MVC++ 2005.
Автор: Begun999
Дата сообщения: 22.05.2011 23:07
Zloy_Gelud
Спасибо!!!
Вроде понял.
Автор: CAHEK77
Дата сообщения: 23.05.2011 06:52
Скинте скрипт у кого есть чтобы панель была с левой сторон!
Автор: Gnom3
Дата сообщения: 23.05.2011 11:26
CAHEK77
Вроде этот, графика там страшненькая, но рисоватьт я никогда и не умел
Автор: Sergey_Demchuk
Дата сообщения: 23.05.2011 11:43
Можно ли реализовать в инсталляторе добавление/удаление компонентов, если программа скажем уже установлена и нет нужды ставить по новой а надо только скажем добавить некоторые дополнения, которые отмечаются на странице компонентов?
Автор: NumberI
Дата сообщения: 23.05.2011 11:49
Здравствуйте, подскажите убогому, как задать несколько условий в Чеке, пробовал по-разному извратиться со скобками - ничего не помогает((

что такое can_cont() ??? нигде в инете нет ответа

и почему у меня не работает winvnc -install ?

[more]
[Setup]
AppName=UltraVNC
AppVerName=UltraVNC 1.0.9.6
AppVersion=1.0.9.6
VersionInfoVersion=1.0.9.6
AppPublisher=1.0.9.6
AppCopyright=1.0.9.6
AppPublisherURL={cm:PublisherURL}
AppSupportURL={cm:SupportURL}
AppUpdatesURL={cm:UpdatesURL}
DefaultDirName={pf}\{cm:MyAppName}
DefaultGroupName={cm:MyAppName}
WindowVisible=false
DisableStartupPrompt=true
DisableReadyPage=false
ChangesAssociations=true
MinVersion=0,5.0.2195
PrivilegesRequired=admin
AppID={#AppID}
UninstallRestartComputer=true
DirExistsWarning=no
OutputDir=setupfile
OutputBaseFilename=UltraVNC_1.0.9.6_Setup
BackColorDirection=lefttoright
UserInfoPage=false
ShowLanguageDialog=yes
LanguageDetectionMethod=uilanguage
AllowUNCPath=false
WindowShowCaption=false
WindowStartMaximized=false
WindowResizable=false
Compression=lzma/ultra
AlwaysRestart=false
VersionInfoDescription={#AppName} Setup
WizardImageBackColor=clWhite
WizardImageStretch=false
SetupIconFile=UltraVNC.ico
WizardImageFile=UltraVNC-splash.bmp
WizardSmallImageFile=UltraVNC-logo.bmp
InfoAfterFile=Readme.txt
InfoBeforeFile=Whatsnew.txt
LicenseFile=Licence.txt

[Languages]
Name: en; MessagesFile: compiler:Default.isl
Name: de; MessagesFile: compiler:Languages\german.isl
Name: fr; MessagesFile: compiler:Languages\french.isl

[CustomMessages]
en.MyAppName={#AppName}
en.MyAppVerName={#AppName} %1
en.firewall=Configuring Windows firewall...
en.SupportURL=http://forum.ultravnc.info
en.UpdatesURL=http://www.uvnc.com
en.PublisherURL=http://www.uvnc.com

de.MyAppName={#AppName}
de.MyAppVerName={#AppName} %1
de.firewall=Die Windows Firewall wird konfiguriert...
de.SupportURL=http://forum.ultravnc.info
de.UpdatesURL=http://www.uvnc.com
de.PublisherURL=http://www.uvnc.com

fr.MyAppName={#AppName}
fr.MyAppVerName={#AppName} %1
fr.firewall=Die Windows Firewall wird konfiguriert...
fr.SupportURL=http://forum.ultravnc.info
fr.UpdatesURL=http://www.uvnc.com
fr.PublisherURL=http://www.uvnc.com

en.FullInstall=Full installation
de.FullInstall=Vollstдndige Installation
fr.FullInstall=Installation complиte

en.CustomInstall=Custom installation
de.CustomInstall=Benutzerdefinierte Installation
fr.CustomInstall=Installation personnalisйe

en.ServerOnly=UltraVNC Server Only
de.ServerOnly=Nur UltraVNC Server
fr.ServerOnly=Seulement UltraVNC Server
en.ServerOnlyS=UltraVNC Server Only "silent"
de.ServerOnlyS=Nur UltraVNC Server "silent"
fr.ServerOnlyS=Seulement UltraVNC Server "silent"

en.ViewerOnly=UltraVNC Viewer Only
de.ViewerOnly=Nur UltraVNC Viewer
fr.ViewerOnly=Seulement UltraVNC Viewer

en.InstallService=&Register %1 as a system service
de.InstallService=%1 als System-Dienst &registrieren
fr.InstallService=&Installation et enregistrement d'%1 comme service systиme

en.ServerConfig=Server configuration:
de.ServerConfig=Server Konfiguration:
fr.ServerConfig=Configuration serveur:

en.StartService=&Start or restart %1 service
de.StartService=%1 Dienst (erneut) &starten
fr.StartService=&Dйmarrer ou redйmarrer %1 le service

en.CreateDesktopIcons=Create %1 &desktop icons
de.CreateDesktopIcons=%1 &Desktop-Symbole anlegen
fr.CreateDesktopIcons=Crйer les icфnes d'%1 sur le &bureau

en.Starting=Starting %1 service...
de.Starting=%1 Dienst starten...
fr.Starting=Dйmarrage du service %1...

en.Stopping=Stopping %1 service...
de.Stopping=%1 Dienst stoppen...
fr.Stopping=Arrкt du service %1...

en.Removing=Removing %1 service...
de.Removing=%1 Dienst entfernen...
fr.Removing=Suppression du service %1...

en.Registering=Registering %1 service...
de.Registering=%1 Dienst registrieren...
fr.Registering=Enregistrement service %1...

en.Passwd=Check set initial password...
de.Passwd=Check set initial password...
fr.Passwd=Check set initial password...

[Types]
Name: full; Description: {cm:FullInstall}
Name: server; Description: {cm:ServerOnly}
Name: server_silent; Description: {cm:ServerOnlyS}
Name: viewer; Description: {cm:ViewerOnly}
;Name: custom; Description: {cm:CustomInstall}; Flags: iscustom

[Components]
Name: UltraVNC_Server_S; Description: UltraVNC Server Silent; Types: server_silent; Flags: disablenouninstallwarning
Name: UltraVNC_Server; Description: UltraVNC Server; Types: full server; Flags: disablenouninstallwarning
Name: UltraVNC_Viewer; Description: UltraVNC Viewer; Types: full viewer; Flags: disablenouninstallwarning

[Tasks]
Name: installservice; Description: {cm:InstallService,UltraVNC Server}; GroupDescription: {cm:ServerConfig}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Check: isTaskChecked('installservice')
Name: installservice; Description: {cm:InstallService,UltraVNC Server}; GroupDescription: {cm:ServerConfig}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Flags: unchecked; Check: not(isTaskChecked('installservice'))
Name: startservice; Description: {cm:StartService,UltraVNC}; GroupDescription: {cm:ServerConfig}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Check: isTaskChecked('startservice')
Name: startservice; Description: {cm:StartService,UltraVNC}; GroupDescription: {cm:ServerConfig}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Flags: unchecked; Check: not(isTaskChecked('startservice'))
Name: desktopicon; Description: {cm:CreateDesktopIcons,UltraVNC}; Components: UltraVNC_Viewer UltraVNC_Server UltraVNC_Server_S; Check: isTaskChecked('desktopicon')
Name: desktopicon; Description: {cm:CreateDesktopIcons,UltraVNC}; Components: UltraVNC_Viewer UltraVNC_Server UltraVNC_Server_S; Flags: unchecked; Check: not(isTaskChecked('desktopicon'))
Name: associate; Description: {cm:AssocFileExtension,UltraVNC Viewer,.vnc}; Components: UltraVNC_Viewer; Check: isTaskChecked('associate')
Name: associate; Description: {cm:AssocFileExtension,UltraVNC Viewer,.vnc}; Components: UltraVNC_Viewer; Flags: unchecked; Check: not(isTaskChecked('associate'))


[Files]
; component independent files
Source: isxdl.dll; Flags: dontcopy
Source: UltraVNC.ico; Flags: dontcopy
Source: WizModernSmallImage-IS.bmp; Flags: dontcopy

Source: check_install.exe; DestDir: {app}; Components: UltraVNC_Server_S; BeforeInstall: StopVNC_S; Flags: restartreplace
Source: check_install.exe; DestDir: {app}; Components: UltraVNC_Server; BeforeInstall: StopVNC; Flags: restartreplace
Source: Whatsnew.txt; DestDir: {app}
Source: Licence.txt; DestDir: {app}
Source: Readme.txt; DestDir: {app}
; server files
; winvnc.exe needs to be first here because it triggers stopping WinVNC service/app.
Source: winvnc.exe; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: logmessages.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: vnchooks.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
; mslogon I files
Source: logging.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: authadmin.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: workgrpdomnt4.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: ldapauth.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,5.0; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: ldapauthnt4.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,4.0; OnlyBelowVersion: 0,5.0; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: ldapauth9x.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 4.0,0; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
; mslogon II files
Source: C:\UltraVNC_install\CertMgr.exe; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion;
Source: C:\UltraVNC_install\certdrv.cer; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion;

Source: C:\UltraVNC_install\certdrv2.cer; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer";
Source: authSSP.dll; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: MSLogonACL.exe; DestDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; MinVersion: 0,1; Flags: restartreplace ignoreversion replacesameversion; Check: Can_cont()
Source: vncviewer.exe; DestDir: {app}; Components: UltraVNC_Viewer; Flags: restartreplace ignoreversion replacesameversion
Source: SCHook.dll; DestDir: {app}; Components: UltraVNC_Server; Flags: restartreplace ignoreversion replacesameversion
Source: cad.exe; DestDir: {app}; Components: UltraVNC_Server; Flags: restartreplace ignoreversion replacesameversion
Source: plugins\MSRC4Plugin.dsm; DestDir: {app}
Source: plugins\Whatsnew.txt; DestDir: {app}\Plugins
Source: plugins\Licence.txt; DestDir: {app}\Plugins

Source: plugins\MSRC4Plugin.dsm; DestDir: {app}\Plugins
Source: plugins\Readme.txt; DestDir: {app}\Plugins
Source: uvnc_settings.exe; DestDir: {app}
Source: driver\vista64\driver\driver7x64.cer; DestDir: {app}\driver\vista64\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista64\driver\mv2.cat; DestDir: {app}\driver\vista64\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista64\driver\mv2.dll; DestDir: {app}\driver\vista64\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista64\driver\mv2.inf; DestDir: {app}\driver\vista64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\driver\mv2.sys; DestDir: {app}\driver\vista64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\install.bat; DestDir: {app}\driver\vista64; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista64\install_silent.bat; DestDir: {app}\driver\vista64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\license.txt; DestDir: {app}\driver\vista64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\setupdrv.exe; DestDir: {app}\driver\vista64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\uninstall.bat; DestDir: {app}\driver\vista64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista64\uninstall_silent.bat; DestDir: {app}\driver\vista64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000

Source: driver\vista\driver\driver7x32.cer; DestDir: {app}\driver\vista\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista\driver\mv2.cat; DestDir: {app}\driver\vista\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista\driver\mv2.dll; DestDir: {app}\driver\vista\driver; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista\driver\mv2.inf; DestDir: {app}\driver\vista\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\driver\mv2.sys; DestDir: {app}\driver\vista\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\install.bat; DestDir: {app}\driver\vista; Components: "UltraVNC_Server UltraVNC_Server_S"; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000;
Source: driver\vista\install_silent.bat; DestDir: {app}\driver\vista; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\license.txt; DestDir: {app}\driver\vista; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\setupdrv.exe; DestDir: {app}\driver\vista; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\uninstall.bat; DestDir: {app}\driver\vista; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000
Source: driver\vista\uninstall_silent.bat; DestDir: {app}\driver\vista; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,6.0.6000

Source: driver\w2K\driver\driverw2k.cer; DestDir: {app}\driver\w2K\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\driver\mv2.cat; DestDir: {app}\driver\w2K\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\driver\mv2.dll; DestDir: {app}\driver\w2K\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\driver\mv2.inf; DestDir: {app}\driver\w2K\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\driver\mv2.sys; DestDir: {app}\driver\w2K\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\install.bat; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\install_silent.bat; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\license.txt; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\setupdrv.exe; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\uninstall.bat; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Source: driver\w2K\uninstall_silent.bat; DestDir: {app}\driver\w2K; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600

Source: driver\xp\driver\driverxpx32.cer; DestDir: {app}\driver\xp\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\driver\mv2.cat; DestDir: {app}\driver\xp\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\driver\mv2.dll; DestDir: {app}\driver\xp\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\driver\mv2.inf; DestDir: {app}\driver\xp\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\driver\mv2.sys; DestDir: {app}\driver\xp\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\install.bat; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\install_silent.bat; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\license.txt; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\setupdrv.exe; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\uninstall.bat; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp\uninstall_silent.bat; DestDir: {app}\driver\xp; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000

Source: driver\xp64\driver\driverxpx64.cer; DestDir: {app}\driver\xp64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\driver\mv2.cat; DestDir: {app}\driver\xp64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\driver\mv2.dll; DestDir: {app}\driver\xp64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\driver\mv2.inf; DestDir: {app}\driver\xp64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\driver\mv2.sys; DestDir: {app}\driver\xp64\driver; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\install.bat; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\install_silent.bat; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\license.txt; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\setupdrv.exe; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\uninstall.bat; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Source: driver\xp64\uninstall_silent.bat; DestDir: {app}\driver\xp64; Components: UltraVNC_Server UltraVNC_Server_S; Flags: restartreplace ignoreversion replacesameversion; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000

Source: C:\Ultravnc\UltraVNC\ultravnc.ini; DestDir: {app}; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer"; Flags: restartreplace IgnoreVersion replacesameversion;
Source: C:\Ultravnc\UltraVNC\20110505_Viewer_ClientAuth.pkey; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion;
Source: C:\Ultravnc\UltraVNC\SecureVNCPlugin.dsm; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer";
Source: C:\Ultravnc\UltraVNC\20110505_Server_ClientAuth.pubkey; DestDir: {app}; Flags: IgnoreVersion restartreplace replacesameversion;
Source: C:\UltraVNC_install\devcon.exe; DestDir: {app};
Source: C:\UltraVNC_install\devconx64.exe; DestDir: {app};
Source: C:\Ultravnc\UltraVNC\1.txt; DestDir: {app}; Check: isWin64; Flags: IgnoreVersion replacesameversion 32bit restartreplace; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer";
Source: C:\Ultravnc\UltraVNC\2.txt; DestDir: {app}; Check: isWin64; Flags: IgnoreVersion restartreplace replacesameversion 64bit; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer";




[Icons]
Name: {userdesktop}\UltraVNC Server; Filename: {app}\winvnc.exe; Components: UltraVNC_Server UltraVNC_Server_S; IconIndex: 0; Tasks: desktopicon; Check: Can_cont()
Name: {userdesktop}\UltraVNC Viewer; Filename: {app}\vncviewer.exe; IconIndex: 0; Components: UltraVNC_Viewer; Tasks: desktopicon
Name: {userdesktop}\UltraVNC Viewer Directx; Filename: {app}\vncviewer_tab.exe; IconIndex: 0; Components: UltraVNC_Viewer; Tasks: desktopicon

Name: {group}\UltraVNC Viewer; FileName: {app}\vncviewer.exe; WorkingDir: {app}; IconIndex: 0; Components: UltraVNC_Viewer
Name: {group}\UltraVNC Viewer Directx; FileName: {app}\vncviewer_tab.exe; WorkingDir: {app}; IconIndex: 0; Components: UltraVNC_Viewer
Name: {group}\UltraVNC Server; FileName: {app}\WinVNC.exe; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; IconIndex: 0; Check: Can_cont()


Name: {group}\UltraVNC Viewer\Run UltraVNC Viewer (Listen Mode); FileName: {app}\vncviewer.exe; Parameters: -listen; WorkingDir: {app}; IconIndex: 0; Components: UltraVNC_Viewer
Name: {group}\UltraVNC Viewer\Run UltraVNC Viewer (Listen Mode Encrypt)); FileName: {app}\vncviewer.exe; Parameters: -dsmplugin msrc4plugin.dsm -listen 5500; WorkingDir: {app}; IconIndex: 0; Components: UltraVNC_Viewer
Name: {group}\UltraVNC Viewer\Show UltraVNC Viewer Help; FileName: {app}\vncviewer.exe; Parameters: -help; WorkingDir: {app}; IconIndex: 0; Components: UltraVNC_Viewer

Name: {group}\UltraVNC Server\Install WinVNC Service; FileName: {app}\WinVNC.exe; Parameters: -install; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Name: {group}\UltraVNC Server\Remove WinVNC Service; FileName: {app}\WinVNC.exe; Parameters: -uninstall; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Name: {group}\UltraVNC Server\Start WinVNC Service; FileName: {app}\WinVNC.exe; Parameters: -startservice; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Name: {group}\UltraVNC Server\Stop WinVNC Service; FileName: {app}\WinVNC.exe; Parameters: -stopservice; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Name: {group}\Edit Settings; FileName: {app}\uvnc_settings.exe; WorkingDir: {app}; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()

[Registry]
Root: HKCR; Subkey: .vnc; ValueType: string; ValueName: ; ValueData: VncViewer.Config; Flags: uninsdeletevalue; Tasks: associate
Root: HKCR; Subkey: VncViewer.Config; ValueType: string; ValueName: ; ValueData: VNCviewer Config File; Flags: uninsdeletekey; Tasks: associate
Root: HKCR; Subkey: VncViewer.Config\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\vncviewer.exe,0; Tasks: associate
Root: HKCR; Subkey: VncViewer.Config\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\vncviewer.exe"" -config ""%1"""; Tasks: associate
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List; ValueType: string; ValueName: "C:\\Program Files\\UltraVNC\\winvnc.exe"; ValueData: "C:\\Program Files\\UltraVNC\\winvnc.exe:*:Enabled:UltraVNC"; Flags: UninsDeleteKey;

[Run]
Filename: {app}\WinVNC.exe; Parameters: -install; Flags: runhidden; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer"; Tasks: installservice; StatusMsg: "{cm:Registering, UltraVNC}"; Check: Can_cont();
Filename: net; Parameters: start uvnc_service; Flags: runhidden; Components: UltraVNC_Server UltraVNC_Server_S; Tasks: startservice; StatusMsg: {cm:Starting,UltraVNC}
filename: {sys}\netsh; Parameters: firewall add portopening TCP 5900 vnc5900; StatusMsg: {cm:firewall}; Flags: runhidden; MinVersion: 0,5.01; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Filename: {sys}\netsh; Parameters: firewall add portopening TCP 5800 vnc5800; StatusMsg: {cm:firewall}; Flags: runhidden; MinVersion: 0,5.01; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont()
Filename: {sys}\netsh; Parameters: "firewall add allowedprogram ""{app}\vncviewer.exe"" ""vncviewer.exe"" ENABLE ALL"; StatusMsg: {cm:firewall}; Flags: runhidden; MinVersion: 0,5.01; Components: UltraVNC_Viewer

Filename: {app}\driver\w2k\setupdrv.exe; Parameters: install; Flags: runhidden; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont(); MinVersion: 0,5.0.2195; OnlyBelowVersion: 0,5.01.2600
Filename: {app}\driver\xp\setupdrv.exe; Parameters: install; Flags: runhidden; Components: UltraVNC_Server UltraVNC_Server_S; Check: Can_cont() and not isWin64; MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000
Filename: {app}\certmgr.exe; Parameters: "-add -c ""{app}\driver\vista64\driver\driver7x64.cer"" -s -r localMachine TrustedPublisher"; Check: (Can_cont() and isWin64); MinVersion: 0,6.0.6000; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer"; Flags: RunHidden;
Filename: {app}\driver\vista64\setupdrv.exe; Parameters: install; Flags: runhidden 64bit; Check: ( (Can_cont()) and (isWin64)); MinVersion: 0,6.0.6000; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer";
Filename: {app}\driver\xp64\setupdrv.exe; Parameters: install; Flags: runhidden 64bit; Components: "UltraVNC_Server UltraVNC_Server_S"; Check: (Can_cont() and (isWin64)); MinVersion: 0,5.01.2600; OnlyBelowVersion: 0,6.0.6000;
Filename: {app}\certmgr.exe; Parameters: "-add -c ""{app}\driver\vista\driver\driver7x32.cer"" -s -r localMachine TrustedPublisher"; Components: "UltraVNC_Server_S UltraVNC_Server UltraVNC_Viewer"; Flags: RunHidden; Check: ( (Can_cont()) and (not isWin64)); MinVersion: 0,6.0.6000;
Filename: {app}\driver\vista\setupdrv.exe; Parameters: install; Flags: runhidden 32bit; check: ( (Can_cont()) And (not isWin64)); MinVersion: 0,6.0.6000;
Filename: {app}\WinVNC.exe; Parameters: -install; Flags: runhidden; Components: "UltraVNC_Server UltraVNC_Server_S"; Tasks: installservice; StatusMsg: "{cm:Registering, UltraVNC}"; Check: Can_cont();
Filename: net; Parameters: start uvnc_service; Flags: runhidden; Components: UltraVNC_Server UltraVNC_Server_S; Tasks: startservice; StatusMsg: {cm:Starting,UltraVNC};

[Code]
var
Modifying: Boolean;

SelectedTasks: String;
ConCont: Integer;
ISset: Boolean;

function isxdl_SetOption(Option, Value: PChar): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';

function GetModuleHandle(lpModuleName: LongInt): LongInt;
external 'GetModuleHandleA@kernel32.dll stdcall';
function ExtractIcon(hInst: LongInt; lpszExeFileName: PChar; nIconIndex: LongInt): LongInt;
external 'ExtractIconA@shell32.dll stdcall';
function DrawIconEx(hdc: LongInt; xLeft, yTop: Integer; hIcon: LongInt; cxWidth, cyWidth: Integer; istepIfAniCur: LongInt; hbrFlickerFreeDraw, diFlags: LongInt): LongInt;
external 'DrawIconEx@user32.dll stdcall';
function DestroyIcon(hIcon: LongInt): LongInt;
external 'DestroyIcon@user32.dll stdcall';


const
DI_NORMAL = 3;

function InitializeSetup(): Boolean;
begin
Modifying := ExpandConstant('{param:modify|0}') = '1';
Result := True;
ISset := False;
end;

function CreateCustomOptionPage(AAfterId: Integer; ACaption, ASubCaption, AIconFileName, ALabel1Caption, ALabel2Caption,
ACheckCaption: String; var CheckBox: TCheckBox): TWizardPage;
var
Page: TWizardPage;
Rect: TRect;
hIcon: LongInt;
Label1, Label2: TNewStaticText;
begin
Page := CreateCustomPage(AAfterID, ACaption, ASubCaption);

try
AIconFileName := ExpandConstant('{tmp}\' + AIconFileName);
if not FileExists(AIconFileName) then
ExtractTemporaryFile(ExtractFileName(AIconFileName));

Rect.Left := 0;
Rect.Top := 0;
Rect.Right := 32;
Rect.Bottom := 32;

hIcon := ExtractIcon(GetModuleHandle(0), AIconFileName, 0);
try
with TBitmapImage.Create(Page) do begin
with Bitmap do begin
Width := 32;
Height := 32;
Canvas.Brush.Color := WizardForm.Color;
Canvas.FillRect(Rect);
DrawIconEx(Canvas.Handle, 0, 0, hIcon, 32, 32, 0, 0, DI_NORMAL);
end;
Parent := Page.Surface;
end;
finally
DestroyIcon(hIcon);
end;
except
end;

Label1 := TNewStaticText.Create(Page);
with Label1 do begin
AutoSize := False;
Left := WizardForm.SelectDirLabel.Left;
Width := Page.SurfaceWidth - Left;
WordWrap := True;
Caption := ALabel1Caption;
Parent := Page.Surface;
end;
WizardForm.AdjustLabelHeight(Label1);

Label2 := TNewStaticText.Create(Page);
with Label2 do begin
Top := Label1.Top + Label1.Height + ScaleY(12);
Caption := ALabel2Caption;
Parent := Page.Surface;
end;
WizardForm.AdjustLabelHeight(Label2);

CheckBox := TCheckBox.Create(Page);
with CheckBox do begin
Top := Label2.Top + Label2.Height + ScaleY(12);
Width := Page.SurfaceWidth;
Caption := ACheckCaption;
Parent := Page.Surface;
end;

Result := Page;
end;


procedure InitializeWizard;
begin

end;

procedure RegisterPreviousData(PreviousDataKey: Integer);
begin

end;



function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := Modifying and ((PageID = wpSelectDir) or (PageID = wpSelectProgramGroup) );
end;

function ModifyingCheck: Boolean;
begin
Result := Modifying;
end;

function Can_cont(): Boolean;
begin
if ConCont <> 5 then
Result := false;
if ConCont = 5 then
Result := true;
end;

procedure StopVNC();
begin
if UsingWinNT() = True then
ExtractTemporaryFile('check_install.exe');
if Exec(ExpandConstant('{tmp}\check_install.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ConCont) then
begin
Log('Checking system status');
end
else begin
Log('Checking system status');
end;
end;

procedure StopVNC_S();
begin
if UsingWinNT() = True then
ExtractTemporaryFile('check_install.exe');
if Exec(ExpandConstant('{tmp}\check_install.exe'), 'silent', '', SW_HIDE, ewWaitUntilTerminated, ConCont) then
begin
Log('Checking system status');
end
else begin
Log('Checking system status');
end;
end;

function IsTaskChecked(Taskname: String): Boolean;
begin
Log('SelectedTasks='+SelectedTasks);
if CompareStr(SelectedTasks, '?') <> 0 then
Result := (Pos(Taskname, SelectedTasks) > 0)
else
begin
// default if not set through inf file
Result := false;
case Taskname of
'desktopicon':
Result := true;
'associate':
Result := true;
end;
end;
end;

function IsVista():Boolean;
var
Version: TWindowsVersion;
begin
Result:=False;
GetWindowsVersionEx(Version);
if Version.NTPlatform and (Version.Major = 6) then Result:=True;
end;

[Dirs]
Name: {app}\Plugins; Components: ; Tasks: ; Languages:
Name: {app}\driver

[InnoIDE_Settings]
LogFileOverwrite=false

[/more]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


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