Скрипты Inno Setup. Помощь и советы [часть 3]

Ответить
 • Просмотры: 47
Аватара пользователя
John1992on

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение John1992on »

Делаю репак игры, и столкнулся с задачей - нужно в меню инсталятора сделать дополнительное окно выбора языка, а сам выбор должен осуществляется копированием файла из одной директории игры в другую, собственно, должен быть "RadioButton" в котором можно выбрать один из 4 языков, после нажатия кнопки "Next" выбранный файл должен скопироватся в определенную папку....



Объясните пожалуйста мне как новичку, как это делать, хотя бы концептуально... как я понял нужно сделать Компонент, но это правильно сделать, понять не могу, так как не могу изучить хелп программы из-за незнания англ.языка....
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Gnom_aka_Lexander »

John1992on,



Код:

Код: Выделить всё

[Languages]
Name: English; MessagesFile: compiler:Languages\English.isl
Name: German; MessagesFile: compiler:Languages\German.isl
Name: Russian; MessagesFile: compiler:Languages\Russian.isl
Name: Spanish; MessagesFile: compiler:Languages\Spanish.isl
[Files]
Source: FileEn.file; DestDir: {app}; Languages: English;
Source: FileGe.file; DestDir: {app}; Languages: German;
Source: FileRu.file; DestDir: {app}; Languages: Russian;
Source: FileSp.file; DestDir: {app}; Languages: Spanish;

тоесть языки сами являются именами компонентов, только не нужно отключать выбор языка на первой странице, и все будет Изображение
Аватара пользователя
death7lord

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение death7lord »

бяда........

делаю репак Arcania, у меня он выходит примерно 4,5Гб

использовал пресомп-среп-арк(ультра2Гб)



в сети люди ужимали до 3,6 и требуется 256Мб



в чём прикол? как же так они сжимают?
Аватара пользователя
nik1967

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение nik1967 »

death7lord,

Ну вообще то это оффтопик, но анпакером распаковываются парочка *.pak-ов, и всё это потом отлично жмётся. Русская версия у меня - 3,30 гб, 3-х язычная - 4,26 гб.
Аватара пользователя
death7lord

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение death7lord »

nik1967, можно расценивать как оффтоп, а может какие доп.программы кроме InnoSetup
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Gnom_aka_Lexander »

Кому не сложно, помогите пожалуйста...

Все уже доделал,


читать дальше »


[Setup]

OutputBaseFilename=тест

AppName=тест

AppVerName=тест 1

DefaultDirName={pf}\тест

DisableProgramGroupPage=true

UsePreviousGroup=false

AppendDefaultGroupName=false


Код: Выделить всё


var

  ISCustomPage1: TWizardPage;

  Nick: TNewStaticText;

  NickEdit: TNewEdit;

  ISCustomPage2: TWizardPage;

  NikInfo: TNewStaticText;

  NickInfoEdit: TNewEdit;



procedure RedesignWizardForm;

begin

  { Creates custom wizard page }

  ISCustomPage1 := CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');

  ISCustomPage2 := CreateCustomPage(wpPreparing, 'ISCustomPage2_Caption', 'ISCustomPage2_Description');



  { Nick }

  Nick := TNewStaticText.Create(WizardForm);

  with Nick do

  begin

    Name := 'Nick';

    Parent := ISCustomPage1.Surface;

    Caption := 'Nick';

    Left := ScaleX(168);

    Top := ScaleY(88);

    Width := ScaleX(23);

    Height := ScaleY(14);

  end;



  { NickEdit }

  NickEdit := TNewEdit.Create(WizardForm);

  with NickEdit do

  begin

    Name := 'NickEdit';

    Parent := ISCustomPage1.Surface;

    Left := ScaleX(136);

    Top := ScaleY(120);

    Width := ScaleX(121);

    Height := ScaleY(21);

    Text := ''; //нужно какимто образом ввести это там, где написано {NickEdit.Text - не катит...}, и сделать так, чтобы в случае отсутствия значения здесь, ISCustomPage2 не создавалась.//

  end;



  Nick.TabOrder := 0;

  NickEdit.TabOrder := 1;



  { NikInfo }

  NikInfo := TNewStaticText.Create(WizardForm);

  with NikInfo do

  begin

    Name := 'NikInfo';

    Parent := ISCustomPage2.Surface;

    Caption := 'NikInfo';

    Left := ScaleX(168);

    Top := ScaleY(56);

    Width := ScaleX(35);

    Height := ScaleY(14);

  end;



  { NickInfoEdit }

  NickInfoEdit := TNewEdit.Create(WizardForm);

  with NickInfoEdit do

  begin

    Name := 'NickInfoEdit';

    Parent := ISCustomPage2.Surface;

    Left := ScaleX(66);

    Top := ScaleY(96);

    Width := ScaleX(273);

    Height := ScaleY(93);

    Text := '';

  end;



  NikInfo.TabOrder := 0;

  NickInfoEdit.TabOrder := 1;



end;



procedure InitializeWizard();

begin

  RedesignWizardForm;

end;

procedure CurStepChanged(CurStep: TSetupStep);

Var

S1: String;

S2: String;

begin

if CurStep = ssPostInstall//запись после распаковки всех файлов

then begin

S1 := '[Account_0]' +#13+#10+ 'Login=' + NickEdit.Text;

SaveStringToFile(ExpandConstant('{app}\test.ini'), S1, false);

begin

if CurStep = ssPostInstall//запись после распаковки всех файлов

then begin

S2 := '[Main]' +#13+#10+ 'Usernotes=' + NickInfoEdit.Text;

SaveStringToFile(ExpandConstant('{app}\{NickEdit.Text - не катит...}\test2.ini'), S2, false);

end;

end;

end;

end;



 тут застрял...

Все решено, пост ниже.
Аватара пользователя
Vamp1re

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Vamp1re »

Как изменить панель инсталятора?

(см.рис)

На стандартную от Windows?

(пример,см.рис)
Изображение
Аватара пользователя
Black666angel

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Black666angel »

Vamp1re, Удоли подобные строки


читать дальше »




[Files]

Source: ISSkin.dll; DestDir: {app}; Attribs: hidden system

Source: Angel.cjstyles; DestDir: {app}; Attribs: hidden system


Код: Выделить всё


function GetSystemMetrics(nIndex: Integer): Integer; external 'GetSystemMetrics@user32.dll stdcall';

procedure LoadSkin(lpszPath: String; lpszIniFileName: String ); external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';

procedure LoadSkinA(lpszPath: String; lpszIniFileName: String ); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';



function InitializeSetup(): Boolean;

begin

  ExtractTemporaryFile('Angel.cjstyles');

  LoadSkin(ExpandConstant('{tmp}\Angel.cjstyles'), '');

  Result:= true

end;



function InitializeUninstall(): Boolean;

begin

  FileCopy(ExpandConstant('{app}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), False);

  FileCopy(ExpandConstant('{app}\Angel.cjstyles'), ExpandConstant('{tmp}\Angel.cjstyles'), False);

  LoadSkinA(ExpandConstant('{tmp}\Angel.cjstyles'), '');

  Result:=True;

end;


 



Или вазми фаил из папки x:\WINDOWS\Resources\Themes\*\*.msstyles ипереименуи в *.cjstyles

и вот радуися (стандартная тема luna.msstyles)
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Gnom_aka_Lexander »

Vista-w, У тебя сейчас подключены два архива: setup1.arc и setup2.arc твой архив как называется?
Ответить

Вернуться в «Автоматическая установка приложений»