Ru-Board.club
← Вернуться в раздел «Тестирование»

» a

Автор: Pawo
Дата сообщения: 13.05.2009 17:27
HP
Автор: AnDySs1
Дата сообщения: 13.05.2009 19:03
HQ
Автор: volodya62
Дата сообщения: 13.05.2009 21:00
HR
Автор: Pawo
Дата сообщения: 14.05.2009 02:07
HS
Автор: AnDySs1
Дата сообщения: 14.05.2009 05:46
html
Автор: Denchik
Дата сообщения: 14.05.2009 14:11
human
Автор: AnDySs1
Дата сообщения: 14.05.2009 18:11
HView
Автор: volodya62
Дата сообщения: 14.05.2009 19:51
HW
Автор: Pawo
Дата сообщения: 15.05.2009 00:32
HX
Автор: AnDySs1
Дата сообщения: 15.05.2009 06:12
Hydra
Автор: Krinkels
Дата сообщения: 15.05.2009 13:14
Друзья, намыл скрипт установки С.Т.А.Л.К.Е.Р. - Чистое Небо, может кому пригодится
[more]
[no]
[Setup]
AppName=С.Т.А.Л.К.Е.Р. - Чистое Небо
AppVerName=С.Т.А.Л.К.Е.Р. - Чистое Небо [v1.0007]
DefaultDirName={pf}\GSC World Publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо
DefaultGroupName=GSC World Publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо
DisableProgramGroupPage=false
OutputDir=.\
OutputBaseFilename=setup
SetupIconFile=.\embedded\Icon.ico
Compression=lzma/ultra
SolidCompression=true
InternalCompressLevel=ultra
UsePreviousGroup=true
ShowLanguageDialog=no
LanguageDetectionMethod=none
WizardImageFile=.\embedded\WizardImage.bmp
WizardSmallImageFile=.\embedded\WizardSmallImage.bmp
LicenseFile=.\embedded\License.txt
InfoAfterFile=.\embedded\InfoAfter.txt
VersionInfoDescription=С.Т.А.Л.К.Е.Р. - Чистое Небо Setup
Uninstallable=true
CreateUninstallRegKey=true
DirExistsWarning=no
VersionInfoCompany=GSC World Publishing
DiskSpanning=true
DiskSliceSize=1199464448
WindowVisible=false
WindowShowCaption=false
WindowResizable=false
AlwaysRestart=false
VersionInfoVersion=1.0007
VersionInfoTextVersion=1,0007
UninstallDisplayIcon={app}\stalker_cs.ico
UninstallDisplayName=С.Т.А.Л.К.Е.Р. - Чистое Небо [v1.0007]
AppVersion=1.0007
AppPublisher=GSC World Publishing

[Languages]
Name: russian; MessagesFile: compiler:Default.isl

[Tasks]
Name: desktopicon; Description: Создать значок на &Рабочем столе; GroupDescription: Дополнительные значки:; Flags: unchecked
Name: quicklaunchicon; Description: Создать значок в &Панели быстрого запуска; GroupDescription: Дополнительные значки:; Flags: unchecked
Name: directx; Description: Обновить DirectX; GroupDescription: Системные задачи:

[Files]
Source: .\Files\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: .\CommonDocs\user.ltx; DestDir: {commondocs}\STALKER-STCS; Flags: overwritereadonly ignoreversion

[Icons]
Name: {group}\С.Т.А.Л.К.Е.Р. - Чистое Небо; Filename: {app}\bin\xrEngine.exe; WorkingDir: {app}; IconFilename: {app}\stalker_cs.ico; Comment: Запустить игру
Name: {group}\WEB сайт игры; Filename: {app}\gamesite.url; Comment: Зарегистрировать игру в интернете
Name: {group}\WEB сайт издателя; Filename: {app}\publisher.url; Comment: Посетить WEB сайт издателя
Name: {group}\Просмотреть ReadMe.txt; Filename: {app}\ReadMe.txt; Comment: Просмотреть ReadMe
Name: {group}\{cm:UninstallProgram,С.Т.А.Л.К.Е.Р. - Чистое Небо}; Filename: {uninstallexe}; IconFilename: {app}\uninstall.ico; Comment: Удалить игру
Name: {commondesktop}\С.Т.А.Л.К.Е.Р. - Чистое Небо; Filename: {app}\bin\xrEngine.exe; WorkingDir: {app}; IconFilename: {app}\stalker_cs.ico; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\С.Т.А.Л.К.Е.Р. - Чистое Небо; Filename: {app}\bin\xrEngine.exe; WorkingDir: {app}; IconFilename: {app}\stalker_cs.ico; Tasks: quicklaunchicon

[Run]
Filename: {src}\Redist\DirectX\DXSETUP.exe; Parameters: /silent; WorkingDir: {src}\Redist\DirectX\; Tasks: directx; StatusMsg: Установить обновленную версию Microsoft DirectX; Flags: waituntilterminated
Filename: {app}\bin\xrEngine.exe; WorkingDir: {app}; Description: &{cm:LaunchProgram,С.Т.А.Л.К.Е.Р. - Чистое Небо}; Flags: nowait postinstall skipifsilent

[Registry]
Root: HKLM; Subkey: Software\GSC Game World; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; Flags: uninsdeletekey
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallPath; ValueType: string; ValueData: {app}; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallLang; ValueType: string; ValueData: {language}; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallSource; ValueType: string; ValueData: stkcs-rus-pack-r; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallVers; ValueType: string; ValueData: 1.0007; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallCDKEY; ValueType: string; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallUserName; ValueType: string; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: UnInstConfirm; ValueType: string; ValueData: Удалить сохраненные игры и профили?; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS; ValueName: InstallPatchID; ValueType: dword; ValueData: $594; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\GSC Game World\STALKER-STCS\Keys; Flags: uninsdeletevalue

[Messages]
BeveledLabel=GSC Game World

[Code]
const
NeedSize = 6;
DRIVE_UNKNOWN = 0;
DRIVE_NO_ROOT_DIR = 1;
DRIVE_REMOVEABLE = 2;
DRIVE_FIXED = 3;
DRIVE_REMOTE = 4;
DRIVE_CDROM = 5;
DRIVE_RAMDISK = 6;

var
ListBox: TListBox;

function GetLogicalDrives: DWORD;
external 'GetLogicalDrives@kernel32.dll stdcall';

function GetDriveType(nDrive: string): Longint;
external 'GetDriveTypeA@kernel32.dll stdcall';

procedure ListBoxOnClick(Sender: TObject);
var
NewLetter, OldString: string;
i: Integer;
begin
for i := 0 to ListBox.Items.Count - 1 do
begin
if ListBox.Selected[i] then
begin
NewLetter := Copy(ListBox.Items[i], 0, 1);
OldString := Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
WizardForm.DirEdit.Text := NewLetter + OldString;
end;
end;
end;

procedure InitializeWizard();
var
Name1: string;
i: Integer;
Text: TNewStaticText;
Path: string;
FreeMB, TotalMB: Cardinal;
drives: DWORD;
begin
Text := TNewStaticText.Create(WizardForm);
Text.Top := 102;
Text.Width := 205;
Text.Height := 14;
Text.Caption := 'Список жестких дисков и свободного места';
Text.Parent := WizardForm.SelectDirPage;

ListBox := TListBox.Create(WizardForm);
ListBox.Top := 120;
ListBox.Width := 205;
ListBox.Height := ScaleY(90);
ListBox.Parent := WizardForm.SelectDirPage;
ListBox.OnClick := @ListBoxOnClick;
ListBox.Font.Name := 'Courier New';
ListBox.Font.Size := 10;
ListBox.Font.Style := [fsBold];
ListBox.Color := clBtnFace;

drives := GetLogicalDrives();
for i := 0 to 31 do
begin
if (drives and (1 shl i)) > 0 then
begin
Path := chr(ord('A') + i) + ':\';
if GetDriveType(Path) = DRIVE_FIXED then
begin
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB>1024 then ListBox.Items.Add(Path + ' ' + IntToStr(round(FreeMB / TotalMB * 100)) + '% ' + floatToStr(round(FreeMB/1024*100)/100) + ' GB')
else ListBox.Items.Add(Path + ' ' + IntToStr(round(FreeMB / TotalMB * 100)) + '% ' + IntToStr(FreeMB) + ' MB');
end;
end;
end;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
Path,s,z: String;
FreeMB, TotalMB: Cardinal;
begin
Result:= True;
if CurPageID = wpSelectDir then
begin
Path:= ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB < (NeedSize*1024) then
begin
if FreeMB>1024 then
begin
s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ floatToStr(round(FreeMB/1024*100)/100) + ' GB!'
end
else s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ + IntToStr(FreeMB)+' MB';
MsgBox(s, mbCriticalError, MB_OK)
Result := False;
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
S: String;
begin
If CurStep=ssPostInstall then
begin
S := ExpandConstant('{commondocs}\STALKER-STCS\')
StringChangeEx(S, ':\', ':\|', True);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$app_data_root$=true|false|' + S + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', ';abbreviation = recurs|notif| root| add| ext| description' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$arch_dir$ = false| false| $fs_root$' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_arch_mp$ = false| false| $fs_root$| mp\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$arch_dir_levels$ = false| false| $fs_root$| levels\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$arch_dir_resources$ = false| false| $fs_root$| resources\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$arch_dir_localization$ = false| false| $fs_root$| localization\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$arch_dir_patches$ = false| true| $fs_root$| patches\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_data$ = false| true| $fs_root$| gamedata\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_ai$ = true| false| $game_data$| ai\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_spawn$ = true| false| $game_data$| spawns\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_levels$ = true| false| $game_data$| levels\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_meshes$ = true| true| $game_data$| meshes\| *.ogf;*.omf| Game Object files' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_anims$ = true| true| $game_data$| anims\| *.anm;*.anms| Animation files' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_dm$ = true| true| $game_data$| meshes\| *.dm| Detail Model files' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_shaders$ = true| true| $game_data$| shaders\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_sounds$ = true| true| $game_data$| sounds\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_textures$ = true| true| $game_data$| textures\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_config$ = true| false| $game_data$| configs\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_weathers$ = true| false| $game_config$| environment\weathers' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_weather_effects$ = true| false| $game_config$| environment\weather_effects' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$textures$ = true| true| $game_data$| textures\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$level$ = false| false| $game_levels$' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_scripts$ = true| false| $game_data$| scripts\| *.script| Game script files' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$logs$ = true| false| $app_data_root$| logs\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$screenshots$ = true| false| $app_data_root$| screenshots\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_saves$ = true| false| $app_data_root$| savedgames\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$downloads$ = false| false| $app_data_root$' + #13, true);
end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usPostUninstall then
begin
If DirExists(ExpandConstant('{commondocs}')+'\STALKER-STCS')
then
case MsgBox('Удалить сохраненные игры и профили?'#13#13 +
'', mbInformation, MB_YESNO)
of IDYES:
begin
DelTree(ExpandConstant('{app}')+'', True, True, True)
DelTree(ExpandConstant('{commondocs}')+'\STALKER-STCS', True, True, True)
end;
end;
end;
end;
[/no]
[/more]
Автор: Pawo
Дата сообщения: 15.05.2009 15:29
HZ
Krinkels
не мешай флудить своим флудом
Автор: AnDySs1
Дата сообщения: 15.05.2009 17:52
IA-64
Автор: volodya62
Дата сообщения: 15.05.2009 22:06
IB
Автор: Pawo
Дата сообщения: 15.05.2009 22:28
IC
Автор: AnDySs1
Дата сообщения: 16.05.2009 06:47
IDE
Автор: volodya62
Дата сообщения: 16.05.2009 08:23
IExplorer 8
Автор: Pawo
Дата сообщения: 16.05.2009 10:42
IF ... THEN ...
Автор: AnDySs1
Дата сообщения: 16.05.2009 13:47
iggy pop
Автор: Pawo
Дата сообщения: 16.05.2009 14:24
IH
Автор: AnDySs1
Дата сообщения: 16.05.2009 17:16
iiyama
Автор: volodya62
Дата сообщения: 16.05.2009 20:00
Ij
Автор: AnDySs1
Дата сообщения: 16.05.2009 20:10
Ikea
Автор: Pawo
Дата сообщения: 16.05.2009 21:04
IL
Автор: AnDySs1
Дата сообщения: 17.05.2009 06:04
IMHO
Автор: volodya62
Дата сообщения: 17.05.2009 08:55
IN
Автор: AnDySs1
Дата сообщения: 17.05.2009 09:35
ION
Автор: Pawo
Дата сообщения: 17.05.2009 13:04
IPv6
Автор: AnDySs1
Дата сообщения: 17.05.2009 14:18
IQ
Автор: Pawo
Дата сообщения: 17.05.2009 14:27
IRC

Страницы: 12345678910111213141516

Предыдущая тема: Забаненные юзеры (часть 3)


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