FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   ASIS: Advanced Simple Installer Script (https://fileforums.com/showthread.php?t=99481)

KaktoR 13-02-2019 11:27

It's not a bug, I just forgot something :) Will post a fix asap

LilKil 13-02-2019 13:16

Quote:

Originally Posted by KaktoR (Post 479509)
It's not a bug, I just forgot something :) Will post a fix asap

Cool, thank you! Also, is there a way to force the Setup to use the english language only instead of letting the user choose his own?

And I couldn't manage to change the .exe icon even by changing the "Setup.ico", it only changes the icon within the setup, no idea if you already noticed it.

Thank you for your great work! :)

KaktoR 13-02-2019 13:43

No, but you can change ShowLanguageBox=0 (installer starts in OS language then. If Installer doesn't support OS language, english will be used as default).

Move Setup.exe to somewhere else. It's a windows problem for not updating icons properly.

pakrat2k2 13-02-2019 14:18

Quote:

Originally Posted by KaktoR (Post 479509)
It's not a bug, I just forgot something :) Will post a fix asap

I used 712 beta6(2) & compiled perfectly fine.. maybe he's using wrong version of inno ?

Schabik 14-02-2019 03:51

1 Attachment(s)
KaktoR,


I have a suggestion about components page,


Instead of checkboxes can You use RadioButtons?


Or some "if" statements so if one checkbox is checked then other isn't It will block the installation of many languages at once.

pakrat2k2 14-02-2019 05:56

@ Schabik

The issue with that is if someone wants 2 or more languages ( say english & Brazil Portuguese ) then that choice would not be available, or many others as well.

Schabik 14-02-2019 06:04

Quote:

Originally Posted by pakrat2k2 (Post 479521)
@ Schabik

The issue with that is if someone wants 2 or more languages ( say english & Brazil Portuguese ) then that choice would not be available, or many others as well.


I think that the best solution is to get both.
If you want to use many lang files than an option for that, to enable it, if you want to use one lang at the time second option to that to enable. You know what I mean?

For some games like AC1 there can't be more than one language at the time, for polish there are files that are patched so the Polish lang can work.

LilKil 14-02-2019 07:31

Quote:

Originally Posted by KaktoR (Post 479512)
No, but you can change ShowLanguageBox=0 (installer starts in OS language then. If Installer doesn't support OS language, english will be used as default).

Move Setup.exe to somewhere else. It's a windows problem for not updating icons properly.

Thank you for the clarification!

Quote:

Originally Posted by pakrat2k2 (Post 479513)
I used 712 beta6(2) & compiled perfectly fine.. maybe he's using wrong version of inno ?

I use the latest unicode version available, do I need to use another version?

KaktoR 14-02-2019 15:43

^
Open "Components.iss" and replace with this (replace all in this file)

Code:

[Components]
#if UseComponents == "1"
  Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
  Name: "englisharch"; Description: {cm:CompEnglish}; Types: full
  Name: "frencharch"; Description: {cm:CompFrench}; Types: full
  Name: "germanarch"; Description: {cm:CompGerman}; Types: full
  Name: "italianarch"; Description: {cm:CompItalian}; Types: full
  Name: "spanisharch"; Description: {cm:CompSpanish}; Types: full
  Name: "polisharch"; Description: {cm:CompPolish}; Types: full
  Name: "russianarch"; Description: {cm:CompRussian}; Types: full
  Name: "portuguesebrazilarch"; Description: {cm:CompPortugueseBrazil}; Types: full
#endif


Titeuf 16-02-2019 02:33

1 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 479492)
New one for components (first test)

Code:

beta 6(2)

- Added components
  > With this you can unpack language archives
  > Set them in Settings.ini
  > You don't need to add them to Records.ini

With included archives it works well. I haven't tested it with any compression or more data but it should work anyways.

Hello KaktoR,
I'm going to do a test with the language files, and I want to put the language files in a subdirectory, can you tell me what are the changes to make for this work please?
thanks in advance

Edit: After compilation I have these messages that appears in Inno (look at me picture).
Thank you

Schabik 16-02-2019 10:21

Quote:

Originally Posted by Titeuf (Post 479554)
Hello KaktoR,
I'm going to do a test with the language files, and I want to put the language files in a subdirectory, can you tell me what are the changes to make for this work please?
thanks in advance

Edit: After compilation I have these messages that appears in Inno (look at me picture).
Thank you

Why bother? If the game don't have hebrew so it won't be nessesary.

Checked for compression afr+srepmax+lolz for lang files and it runs smoothly.

KaktoR 16-02-2019 11:11

@Titeuf: Ingnore this messages. I didn't translate Hebrew, and probably didn't do it anymore (because it's like arabic, it reads from right to left and installer is mirrored this way. I didn't test installer yet with hebrew language, if all buttons/text/etc are on the right place. Maybe I will deactivate it in future releases).

Will work on the script in the next weeks again (spare time at the moment).

Titeuf 16-02-2019 11:20

hello KaktoR,
ok thank you for your answer!
I thought I made a mistake
cordially

Schabik 22-02-2019 03:50

Hey there guys,

I did a little research for setting components not as checkboxes but as Radiobuttons, and I've managed to achieve the goal

If someone want to integrate the code with ASIS please, be my guest :)
The modifications were tested by me and work for example with Assassins Creed 1 MultiLang (With Czech,Polish,English,French,Italian,German and Spanish).

The Modifications I presented are as Follows:

Code for Components.iss

Code:

[Components]
#if RadioInsteadCheckbox == "1"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom; Flags: exclusive;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom; Flags: exclusive;
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom; Flags: exclusive
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom; Flags: exclusive
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom; Flags: exclusive
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom; Flags: exclusive
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom; Flags: exclusive
#endif
#if RadioInsteadCheckbox == "0"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom
#endif

Code for Settings.iss (Component Section):

Code:

// Component
#define UseComponents ReadIni(SourcePath + "\Settings.ini", "Component", "Enable", "")
#define RadioInsteadCheckbox ReadIni(SourcePath + "\Settings.ini", "Component", "EnableRadiobutton", "")
#define EnglishArch ReadIni(SourcePath + "\Settings.ini", "Component", "EnglishArch", "")
#define FrenchArch ReadIni(SourcePath + "\Settings.ini", "Component", "FrenchArch", "")
#define GermanArch ReadIni(SourcePath + "\Settings.ini", "Component", "GermanArch", "")
#define ItalianArch ReadIni(SourcePath + "\Settings.ini", "Component", "ItalianArch", "")
#define SpanishArch ReadIni(SourcePath + "\Settings.ini", "Component", "SpanishArch", "")
#define PolishArch ReadIni(SourcePath + "\Settings.ini", "Component", "PolishArch", "")
#define CzechArch ReadIni(SourcePath + "\Settings.ini", "Component", "CzechArch", "")

Code for Settings.ini (also Component section):

Code:

[Component]
Enable=1
EnableRadiobutton=1
EnglishArch=
FrenchArch=
GermanArch=
ItalianArch=
SpanishArch=
PolishArch=
CzechArch=

In Registry.iss You can add something like this, if a language registry key is required, for tests I've added something like this:

Code:

[Registry]
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Polish"; Flags: uninsdeletekey; Components: Lang\polisharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Czech"; Flags: uninsdeletekey; Components: Lang\czecharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "English"; Flags: uninsdeletekey; Components: Lang\englisharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "French"; Flags: uninsdeletekey; Components: Lang\frencharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "German"; Flags: uninsdeletekey; Components: Lang\germanarch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Italian"; Flags: uninsdeletekey; Components: Lang\italianarch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Spanish"; Flags: uninsdeletekey; Components: Lang\spanisharch;

In main script in code for extracting the language components I had to make some adjustments.
I've made them as following:

Code:

#if UseComponents == "1"
  {Unpack selected components}
  if IsComponentSelected('Lang\englisharch') then
    if FileExists(GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\frencharch') then
    if FileExists(GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\germanarch') then
    if FileExists(GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\italianarch') then
    if FileExists(GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\spanisharch') then
    if FileExists(GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\polisharch') then
    if FileExists(GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\czecharch') then
    if FileExists(GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
#endif

@KaktoR if You see and accept these changes I will be honored if You add them to the next beta :)

Titeuf 22-02-2019 04:45

Hello Schabik,
maybe can you put pictures?
thank you in advance


All times are GMT -7. The time now is 12:32.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com