Старожил
Сообщения: 440
Благодарности: 251
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Цитата Johny777:
ну если у Вас соединилось, то дайте пожалуйста результат, а то я в тупике »
|
Как то так
Код: 
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: descctrl.dll; Flags: dontcopy
[Tasks]
Name: need; Description: необходимо; GroupDescription: для првильной работы:; Check:
Name: need\no_steam; Description: выкл Steam (если включен); GroupDescription: для првильной работы:;
Name: need\direct_x; Description: установть/обновить DirectX; GroupDescription: для првильной работы;
Name: need\visual_c; Description: установть/отремонтировать VisualC++; GroupDescription: для првильной работы;
Name: need\hey; Description: ещё рекомендуется:; Flags: unchecked; GroupDescription: для првильной работы;
Name: need\hey\fonts; Description: установить шрифты; GroupDescription: для првильной работы;
[Components]
Name: "program"; Description: "Игра"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Помощь"; Types: full
Name: "Text"; Description: "Tехт"; Types: full
Name: "Text\en"; Description: "Aнглийский"; Flags: exclusive
Name: "Text\de"; Description: "Немецкий"; Flags: exclusive
Name: "Text\cn"; Description: "Китайский"; Flags: exclusive
Name: "Text\ru"; Description: "Русский"; Flags: exclusive
Name: "Voice"; Description: "Озвучка"; Types: full
Name: "Voice\en"; Description: "Английская"; Flags: exclusive
Name: "Voice\de"; Description: "Немецкая"; Flags: exclusive
Name: "Voice\ch"; Description: "Китайская"; Flags: exclusive
Name: "Voice\ru"; Description: "Русская"; Flags: exclusive
Name: "Voice\ru2"; Description: "Русская"; Flags: exclusive
Name: "Voice\ru3"; Description: "Русская"; Flags: exclusive
[_Code]
var
Info, InfoCaption: TNewStaticText;
InfoPanel: TPanel;
function enabledesc(ComponentsListHandle: HWND; DescLabelHandle: HWND; DescStrings: PChar): BOOL; external 'enabledesc@files:descctrl.dll stdcall';
function disabledesc(): BOOL; external 'disabledesc@files:descctrl.dll stdcall';
procedure InitializeWizard;
begin
WizardForm.TYPESCOMBO.Visible:= false;
WizardForm.ComponentsList.Height := WizardForm.ComponentsList.Height + WizardForm.ComponentsList.Top - WizardForm.TYPESCOMBO.Top;
WizardForm.ComponentsList.Top := WizardForm.TYPESCOMBO.Top;
WizardForm.ComponentsList.Width := ScaleX(200);
InfoPanel:= TPanel.Create(WizardForm);
with InfoPanel do
begin
Parent:= WizardForm.SelectComponentsPage;
Caption := '';
SetBounds(ScaleX(216),WizardForm.ComponentsList.Top,ScaleX(200),WizardForm.ComponentsList.Height);
BevelInner := bvRaised;
BevelOuter := bvLowered;
end;
InfoCaption := TNewStaticText.Create(WizardForm);
with InfoCaption do
begin
Parent:= WizardForm.SelectComponentsPage;
Caption:= 'Информация:';
Left:= ScaleX(224);
Top:= InfoPanel.Top - ScaleY(5);
Font.Color:= clActiveCaption;
end;
Info:= TNewStaticText.Create(WizardForm);
with Info do
begin
Parent:= InfoPanel;
AutoSize:= False;
SetBounds(ScaleX(6),ScaleY(12),ScaleX(188),WizardForm.ComponentsList.Height - ScaleY(18));
WordWrap:= true;
end;
end;
Procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpSelectComponents:
begin
InfoPanel.Parent:= WizardForm.SelectComponentsPage;
InfoCaption.Parent:= WizardForm.SelectComponentsPage;
Info.Caption:= 'Наведите на компонент, чтобы получить дополнительную информацию';
disabledesc();
enabledesc(WizardForm.ComponentsList.Handle,Info.Handle,
'Короткое описание игры;'+
'Дополнительная документация, на разных языках;'+
'Техт игры;'+
'Официальный английский текст от EA Games;'+
'Официальный немецкий текст от неизвестного производителя;'+
'Пиратский китайский текст;'+
'Официальный русский текст от софтклаб;'+
'Озвучка игры;'+
'Официальная английская озвучка от EA Games;'+
'Официальная немецкая озвучка от неизвестного производителя;'+
'Пиратская китайская озвучка;'+
'Официальная русская озвучка от софтклаб;'+
'Русская озвучка от 7Wolf;'+
'Русская озвучка от фаргуса;');
end;
wpSelectTasks:
begin
InfoPanel.Parent:= WizardForm.SelectTasksPage;
InfoCaption.Parent:= WizardForm.SelectTasksPage;
Info.Caption:= 'Наведите на задачу, чтобы получить дополнительную информацию';
disabledesc();
enabledesc(WizardForm.TasksList.Handle,Info.Handle,
'Чтобы игра игралась;'+
'Нужно сделать так;'+
'Выключить Steam нафиг;'+
'Зафигачить DirectX;'+
'Намутить VisualC++;'+
'А так же;'+
'Воткнуть ненужные шрифты;');
end;
end;
end;
procedure DeinitializeSetup();
begin
disabledesc();
end;
Ну и не забыть добавить descctrl.dll
И ещё по Сталкеру
Код: 
;Всем известная игра S.T.A.L.K.E.R. при установке использует некоторые хитрости. Дело не в проверке системных требований или свободного
;места на диске. Самый важный момент при инсталляции перепакованной игры - создать правильный файл "fsgame.ltx". Данный файл представляет
;собой некоторый загрузчик данных. Любое неправильное его построение чревато глюками и неправильной работе игры. Чтобы создать абсолютно
;точную копию оригинала нужно выполнить следующий код (не забываем при сборке, чтобы файл "fsgame.ltx" был абсолютно пустой):
[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
S: String;
begin
If CurStep=ssPostInstall then
begin
S := ExpandConstant('{commondocs}\STALKER-SHOC\')
StringChangeEx(S, ':\', ':\|', True);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$app_data_root$=true|false|' + S + #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_anims$ = true| true| $game_data$| anims\' + #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\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_dm$ = true| true| $game_data$| meshes\' + #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_scripts$ = true| false| $game_data$| scripts\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_config$ = true| false| $game_data$| config\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$level$ = false| false| $game_levels$' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_saves$ = true| false| $app_data_root$| savedgames\' + #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);
end;
end;
|
-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".
Последний раз редактировалось nik1967, 31-01-2012 в 12:16.
Отправлено: 11:41, 31-01-2012
| #718
|