PDA

View Full Version : ASIS: Advanced Simple Installer Script


Pages : 1 2 [3] 4 5 6

KaktoR
19-01-2019, 06:28
I will see if it's possible

KaktoR
19-01-2019, 10:12
Yes it's possible:
https://i.imgur.com/DnjlyGW.png

HW detection is now fixed too!

v7.1.1b
__________________________________________________ ___
-Fixed Music Button
-Fixed Hardware detection (thanks to peterf1999 for the help)
-Fixed Finish Button if CRC Check is not used
-Fixed some other bugs
-Website Button is now not visible on Installing Page
-Added Background ON/OFF button on Installing Page
> With this button you can toggle install background on/off

Titeuf
20-01-2019, 02:47
Hello KaktoR,
thank you for your excellent work!
Here are the translations (Google translation) except for the French CustomMessage file for this: "Your system does partially meet the hardware reuirements" :


English.HwPartiallyGood=Your system does partially meet the hardware reuirements.
Hebrew.HwPartiallyGood=המערכת שלך עונה באופן חלקי בלבד על דרישות החומרה.
French.HwPartiallyGood=Votre systčme ne répond que partiellement aux exigences matérielles.
German.HwPartiallyGood=Ihr System erfüllt die Hardwareanforderungen nur teilweise.
Italian.HwPartiallyGood=Il sistema soddisfa solo parzialmente i requisiti hardware.
Spanish.HwPartiallyGood=Su sistema solo cumple parcialmente los requisitos de hardware.
Polish.HwPartiallyGood=Twój system tylko częściowo spełnia wymagania sprzętowe.
Russian.HwPartiallyGood=Ваша система только частично отвечает требованиям к оборудованию.
PortugueseBrazil.HwPartiallyGood=Seu sistema atende apenas parcialmente aos requisitos de hardware.

Schabik
20-01-2019, 23:15
Hi there guys :)

How Can I change text color of Licence and InfoBefore? I'm not talking about LicencePage and InfoBeforePage but the text loaded from InfoBefore.txt and Licence File. I want to change it to White because I've added Concave.cjstyles file as the skin.


For example InfoBeforePage looks like this:
23922


As You can see the text loaded from InfoBefore.txt file is almost unreadable...


Second problem is that something is covering the text above the EditDir field, and with Polish language "Create Desktop Icon" (in Polish "Utwórz ikonę na pulpicie") the "ę" letter is replaced with some other letter unknown for me.


23923




Edit:
Ok, as for the "Utwórz ikonę na pulpicie" the problem was in CustomMessages.iss file. Ive corrected it and translated rest of the remaining Polish messages, so I'm uploading the file.


The only problem for now is for "Lokalizacja docelowa:" field.

KaktoR
21-01-2019, 01:29
I will see to change the text color for dark themes.

----

Lokalizacja docelowa:
Search for
with WizardForm.SelectDirLabel do begin
Caption := AppNameOverride(msgSelectDirLabel3);
Left := FolderImage.Left + 42;
Top := ScaleY(0);
Width := ScaleX(488);
Height := ScaleY(45);
WordWrap := True;
end;

and change height to 42 (should be enough)

Will be changed in next version

Schabik
21-01-2019, 02:55
I will see to change the text color for dark themes.

----

Lokalizacja docelowa:
Search for
with WizardForm.SelectDirLabel do begin
Caption := AppNameOverride(msgSelectDirLabel3);
Left := FolderImage.Left + 42;
Top := ScaleY(0);
Width := ScaleX(488);
Height := ScaleY(45);
WordWrap := True;
end;and change height to 42 (should be enough)

Will be changed in next version




Thanks KaktoR :) That worked for me :)


As for LicencePage and InfoBefore page, how about changing the background color?


Ive changed the bg color to lightgrey and it looks like this:


23925


What do You think about this solution?


Just added to


with WizardForm.InfoBeforeMemo do begin
Left := ScaleX(0);
Top := ScaleY(50);
Width := ScaleX(520);
Height := ScaleY(210);
end;



this line:

Color := TColor($d3d3d3);

KaktoR
21-01-2019, 12:06
Here is beta 3. I think if all is OK i will post this on post #1 soon.

Changes since last beta
- Changed background color of License and Info before memo to a bright color
> On dark themes you couldn't read text properly before
- Made Installer window a bit bigger for better reading
- Added missing dll to ztool

KNOWN BUGS
- ScrollBar on LicensePage and InfoBeforePage are broken if you use cjstyle skin

I still have to figure out why the scrollbars are broken on codejock styles :confused:

Schabik
21-01-2019, 23:03
KaktoR there's a problem with background button in 7.1.1b.Beta3, even if I turn it off (The background I mean) in settings file while running the Installer there is a message that there is an unknown Custom message name "BackgroundON" in cm constant.


Another thing, I think that You forgot to write an IF statement to BackgroundCB and BackgroundButton to look like:



#if UseInstallBackground == "1"
BackgroundCB := TNewCheckBox.Create(WizardForm);
with BackgroundCB do begin
Parent := WizardForm;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(0);
Height := ScaleY(0);
Visible := False;
Checked := False;
end;

BackgroundButton := TNewButton.Create(WizardForm);
with BackgroundButton do begin
Parent := WizardForm;
Left := WebsiteButton.Left - WebsiteButton.Width - 10;
Top := WebsiteButton.Top;
Width := WebsiteButton.Width;
Height := WebsiteButton.Height;
Caption := ExpandConstant('{cm:BackgroundON}');
OnClick := @BackgroundButtonClick;
end;
#endif



Without that no matter if You enable or disable UseInstallBackground it will be enabled, if I recall.

KaktoR
22-01-2019, 00:46
The unknown Custom message name is because you don't use the new CustomMessages.iss :)

Will fix the button

Schabik
22-01-2019, 01:52
The unknown Custom message name is because you don't use the new CustomMessages.iss :)

Will fix the button


Nope, I am using the new CustomMessages.iss

KaktoR
22-01-2019, 01:55
Use the FIX in previous post.

kocchi96x
22-01-2019, 10:36
i get this
https://i.imgur.com/4aFvBkC.jpg
from these (https://fileforums.com/showpost.php?p=478982&postcount=507), I even tried it without doing the small edits I have done and still get it.

KaktoR
22-01-2019, 11:07
Send me your settings.ini please

Btw what do you think about this?
https://i.imgur.com/xRZs6Qf.png

kocchi96x
22-01-2019, 12:16
i like that makes it pop out.

pakrat2k2
22-01-2019, 12:27
Btw what do you think about this?
https://i.imgur.com/xRZs6Qf.png

that looks great, we can change colors to match game :cool:

KaktoR
22-01-2019, 13:29
i get this
https://i.imgur.com/4aFvBkC.jpg
from these (https://fileforums.com/showpost.php?p=478982&postcount=507), I even tried it without doing the small edits I have done and still get it.

Bug fixed. It was because BackgroundButton gets WebsiteButton dimensions even if WebsiteButton is turned off.

Beta 4
-Added ability to change Hardware label colors in [SystemRequirement] section
-Fixed some other bugs

kocchi96x
22-01-2019, 16:08
it works now just not when its installing the background isn't changing to the other pictures i have set with the installer, it stays on the first picture.

Edit: The other pictures are loaded as they do show in tmp folder but just not being shown when installing only one that is being show is the one named 1.jpg

KaktoR
22-01-2019, 17:03
Use the FIX above. Sorry for the trouble :D

kocchi96x
22-01-2019, 19:51
Use the FIX above. Sorry for the trouble :D
no problem just glad to be of help :D, and that did fix it backgrounds work again.

KaktoR
24-01-2019, 15:57
What do you think?

Compact mode

https://i.imgur.com/5WCMlPx.png

pakrat2k2
24-01-2019, 19:16
^^ That'd be great for those who still want conversion for those REALLY tiny games..

KaktoR
25-01-2019, 05:20
I have added Update v7.1.1b to post #1 since it's stable now.

Here is a beta for v7.1.2

v7.1.2
__________________________________________________ ___
- Added compact mode to installer
> This is an option for minimalistic setup with only one page
> In CompactMode you can only use SFV and MD5 files for CRC check
I will implement ISHash library later in CompactMode

I had not much time for testing, but will do on saturday again.

kocchi96x
25-01-2019, 18:03
7.1.2 works well for me i tested both compact and non compact and didnt see anything not work. I also like the compact idea as pakrat2k2 said good idea for those smaller games :D

Schabik
28-01-2019, 03:23
Hey there,


Why on CheckCRC page there is no Next button?


23984

KaktoR
28-01-2019, 04:27
Send me your settings.ini please.

Looks like there is a button behind website button

Schabik
28-01-2019, 05:10
Send me your settings.ini please.

Looks like there is a button behind website button


It's a LogButton Here's the screen after adjusting the position of the button.23985


Also as requested I've attached settings.ini

KaktoR
29-01-2019, 10:07
I have fixed the button (LogButton). NextButton was always visible here.

If the missing Next Button still exists for you, send me your modified script

Schabik
30-01-2019, 01:19
I have fixed the button (LogButton). NextButton was always visible here.

If the missing Next Button still exists for you, send me your modified script


Works wonderful now :)


Another question, is there a way to add selecion of language?


F.O.X.: If I select Czech as the language for the installer, it unpacks Czech.bin file.


It will be useful for repacking games with seperate language files :)

exorc
30-01-2019, 10:49
Hi, how to create a shortcut if the exe is not in the root directory?
In Settings.ini file does not exist exe path?

Sorry for my english ad thanks

Schabik
30-01-2019, 11:38
Hi, how to create a shortcut if the exe is not in the root directory?
In Settings.ini file does not exist exe path?

Sorry for my english ad thanks

In example of The Sims 4 if you have "TS4.exe" file in directory named "bin" just type "bin\TS4.exe"

exorc
31-01-2019, 07:08
In example of The Sims 4 if you have "TS4.exe" file in directory named "bin" just type "bin\TS4.exe"

It does not work and it is not the arc file error, it is a failure of the installation program...

Schabik
31-01-2019, 07:11
It does not work and it is not the arc file error, it is a failure of the installation program...

Please attatch a picture if an error appears and your settings.ini file.

exorc
31-01-2019, 07:18
Please attatch a picture if an error appears and your settings.ini file.

My ini settings

https://mega.nz/#!QZ9EHYLT!Qt1T5rstE43hpkDyk9qbsQ98s7AhrGtjVdlOSrg shR4

exorc
31-01-2019, 07:34
https://i.ibb.co/vJyKrN2/error.png (https://ibb.co/Wc8YdrS)

KaktoR
31-01-2019, 07:53
Here is a fix for this error

exorc
31-01-2019, 08:25
Solved!!!! Thanks

Schabik
31-01-2019, 11:55
Works wonderful now :)


Another question, is there a way to add selecion of language?


F.O.X.: If I select Czech as the language for the installer, it unpacks Czech.bin file.


It will be useful for repacking games with seperate language files :)

Anyone has an answer for my question?

I've figured out the registry selection but what about file extraction?

KaktoR
02-02-2019, 08:11
I will look at it.

Btw, should I change the CompactMode to something bigger? Means non-CompactMode size window but all of the stuff on one page? Or is it good as it is now?

I will also change the CreateUninstaller option (it will become a checkbox on installer like in the CDX installers).

pakrat2k2
02-02-2019, 09:40
CreateUninstaller option would be great, even on both installer types.

Schabik
02-02-2019, 10:37
I will look at it.

Btw, should I change the CompactMode to something bigger? Means non-CompactMode size window but all of the stuff on one page? Or is it good as it is now?

I will also change the CreateUninstaller option (it will become a checkbox on installer like in the CDX installers).
Thanks for looking for the option, I think it will be helpful for those who want to get multilang by unpacking only concrete files like in AC1 directors cut.

As for compactMode it's good as it is in my opinion

For the CreateUninstaller checkbox if it will be checked from the beginning as an option it will be Great:-D

Titeuf
02-02-2019, 10:50
Hello,
maybe also put the remaining time and what would be great is to be able to put the name of the player!

Schabik
02-02-2019, 10:53
Hello,
maybe also put the remaining time and what would be great is to be able to put the name of the player!

Remaining Time is allready implemented but commented. Uncomment //RemainingLabel.Show; line if i recall and it will by shown. But I think it doesn't work properly but hey I might be wrong so just test it.


24016

Titeuf
02-02-2019, 11:50
Remaining Time is allready implemented but commented. Uncomment //RemainingLabel.Show; line if i recall and it will by shown. But I think it doesn't work properly but hey I might be wrong so just test it.


24016

Hello,
yes I had seen but I seem to have read that this is a problem, but as you say I'll try

Schabik
02-02-2019, 11:55
Hello,
yes I had seen but I seem to have read that this is a problem, but as you say I'll try

The problem is that in AC1 Directors cut sometimes it shows correct remaining time and sometimes it does not.But I think that the problem occurs because of variable read/write transfer on my ssd (it's too high i suppose).

KaktoR
03-02-2019, 05:28
Hello,
maybe also put the remaining time and what would be great is to be able to put the name of the player!

What do you mean with name of the player?

Schabik
03-02-2019, 05:36
What do you mean with name of the player?

I think he means name of the player in the compressed game, injecting it to game's config files something like in steam or uplay ini files ( F.O.X.: "Player=Schabik")

Titeuf
03-02-2019, 06:47
Yes that's exactly what Schabik says in his last answer

KaktoR
03-02-2019, 07:28
OK will do something like this

[INISettings]
INIFile={app}\steam_api.ini
Section=[Settings]
Key=Player
Value=Titeuf

KaktoR
03-02-2019, 08:05
v7.1.2 beta 4
__________________________________________________ ___
- Added compact mode to installer
> This is an option for minimalistic setup with only one page
> In CompactMode you can only use SFV and MD5 files for CRC check
I will implement ISHash library later in CompactMode
- Fixed LogButton in CRC Check page
- Fixed other bug if CRC check is disabled
- Added checkbox for "Create Uninstaller"
> If checkbox is checked, Uninstall files will be created
> If checkbox is not checked, no uninstall files will be created
- Added [INISettings] to Settings.ini
> With this you can change INI settings after installation is done

Next I will look into the language archives (I think best way is just to use components).

K4miKaZe
03-02-2019, 08:58
Nice Job KaktoR, i still was using the 7.0.8 version because i had it heavly modded, spend yesterday to set up the new version and also CIU and so far its perfect. Had to change only some compressors like on CIU because on some of them i prefer using a older version but its working fine now. Whats going well now is using SrepInside "N", it even works on some of the AC games were i had problems some months ago on the older version.

Well done KaktoR, Thanks again !!!

Schabik
03-02-2019, 09:23
Next I will look into the language archives (I think best way is just to use components).

I also think that it's the best way.
You can also include in the settings.ini if someone want to use it or not (adding components can be done inside the settings then it can be a scheme for adding next components)

Titeuf
03-02-2019, 11:09
OK will do something like this

[INISettings]
INIFile={app}\steam_api.ini
Section=[Settings]
Key=Player
Value=Titeuf

Thank you KaktoR for the name of the player, but can you fill in a field to fill in for the player's name before the start of the installation?
look at my picture to get an idea of what I'm saying (excuse me for my bad English)

Schabik
03-02-2019, 11:51
Thank you KaktoR for the name of the player, but can you fill in a field to fill in for the player's name before the start of the installation?
look at my picture to get an idea of what I'm saying (excuse me for my bad English)

Wouldn't it be better to do it as an seperate form/window/step? You can enter the player name and it will go stright to installation

KaktoR
03-02-2019, 12:19
Oh you mean an edit field (like directory)?

Schabik
03-02-2019, 12:26
Oh you mean an edit field (like directory)?

Exactly!! :-)

Oh and the inisettings work with all ini files? I mean steam_emu and orbit_api?

KaktoR
03-02-2019, 12:37
Yes you have to change filename in settings.ini then if the filename is different

You can also define a path if the file is not in root directory.

Example:
INIFile={app}\steam_emu.ini
or
INIFile={app}\folder1\steam_emu.ini
or
INIFile={app}\folder1\folder2\folder3\orbit_api.in i

PS: I will change the appereance of this page because it's all a bit clunky.

Schabik
03-02-2019, 12:41
Yes you have to change filename in settings.ini then if the filename is different

You can also define a path if the file is not in root directory.

Example:
INIFile={app}\steam_emu.ini
or
INIFile={app}\folder1\steam_emu.ini
or
INIFile={app}\folder1\folder2\folder3\orbit_api.in i

PS: I will change the appereance of this page because it's all a bit clunky.

And that's what i call a good work :-)
I think that it will be Great to name the textbox or get it into a groupbox with name "playerName" so no one misunderstood the reason of the textbox's existence, what say You?

Titeuf
03-02-2019, 12:55
Oh you mean an edit field (like directory)?


As does Elamigos installation script, look at my picture!

Titeuf
03-02-2019, 12:56
Yes you have to change filename in settings.ini then if the filename is different

You can also define a path if the file is not in root directory.

Example:
INIFile={app}\steam_emu.ini
or
INIFile={app}\folder1\steam_emu.ini
or
INIFile={app}\folder1\folder2\folder3\orbit_api.in i

PS: I will change the appereance of this page because it's all a bit clunky.

Yes yes it is exactly that !!!
great job my Dear KaktoR

KaktoR
03-02-2019, 13:05
Look

Titeuf
03-02-2019, 13:16
Look

Nice job, Nice job and Nice work again!

Titeuf
03-02-2019, 13:24
Exactly!! :-)

Oh and the inisettings work with all ini files? I mean steam_emu and orbit_api?

for now I only tried with a steam_emu.ini file and yes it works very well!

Titeuf
03-02-2019, 13:28
@KaktoR,
translation missing in fileCustomMessages.iss for the part: "Your system does partially meet the hardware reuirements."
here is the complete translation with google translation for other languages except French


English.HwPartiallyGood=Your system does partially meet the hardware reuirements.
Hebrew.HwPartiallyGood=המערכת שלך עונה באופן חלקי בלבד על דרישות החומרה.
French.HwPartiallyGood=Votre systčme ne répond que partiellement aux exigences matérielles.
German.HwPartiallyGood=Ihr System erfüllt die Hardwareanforderungen nur teilweise.
Italian.HwPartiallyGood=Il sistema soddisfa solo parzialmente i requisiti hardware.
Spanish.HwPartiallyGood=Su sistema solo cumple parcialmente los requisitos de hardware.
Polish.HwPartiallyGood=Twój system tylko częściowo spełnia wymagania sprzętowe.
Russian.HwPartiallyGood=Ваша система только частично отвечает требованиям к оборудованию.
PortugueseBrazil.HwPartiallyGood=Seu sistema atende apenas parcialmente aos requisitos de hardware.

Titeuf
05-02-2019, 04:15
Hello KaktoR,
when do you think you can download the next beta version?
in advance thank you for your answer,
cordially

KaktoR
06-02-2019, 03:45
Here is new beta 5 which adds the text input for user name for INI files

Components for language archives is a bit more complicated then I thought. Could take a while.

Titeuf
06-02-2019, 05:18
Here is new beta 5 which adds the text input for user name for INI files

Components for language archives is a bit more complicated then I thought. Could take a while.

Hello KaktoR,
Ok thanks for your work.

Schabik
06-02-2019, 10:07
Here is new beta 5 which adds the text input for user name for INI files

Components for language archives is a bit more complicated then I thought. Could take a while.

You're the best KaktoR, I know You can do it :-)

kocchi96x
07-02-2019, 02:02
Here is new beta 5 which adds the text input for user name for INI files

Components for language archives is a bit more complicated then I thought. Could take a while.
https://i.imgur.com/20KqaWt.jpg

This happens if you use compact mode didnt get it from non compact though.

Titeuf
07-02-2019, 02:06
https://i.imgur.com/20KqaWt.jpg

This happens if you use compact mode didnt get it from non compact though.

Hello kocchi96x, I have not seen this problem because I have not used the compact mode yet on this new version !

@Schabik: have you seen this problem?

KaktoR
07-02-2019, 02:20
Open Settings.iss and add this to somewhere

#define Value ReadIni(SourcePath + "\Settings.ini", "INISettings", "Value", "")

Open Settings.ini and add this to [INISettings] section
Value=yourname

Because you don't have a type-in field in compact mode.

Titeuf
07-02-2019, 02:45
Open Settings.iss and add this to somewhere

Because you don't have a type-in field in compact mode.


Hello KaktoR,
Is it me who forgot something but in normal mode the input field is not displayed!
hmm maybe i'm so tired! lol

KaktoR
07-02-2019, 03:18
Sorry :D

[INISettings]
// Enable Yes (1) or No (0).
Enable=1
INIFile={app}\steam_emu.ini
Section=Settings
Key=UserName
Value=

Titeuf
07-02-2019, 05:43
Sorry :D

[INISettings]
// Enable Yes (1) or No (0).
Enable=1
INIFile={app}\steam_emu.ini
Section=Settings
Key=UserName
Value=

KaktoR, thank you for your work this work very well!
just one thing, to be more aesthetic in my language, I need to add spaces for the checks (md5) look at my picture:

https://i.imgur.com/PqujW8V.jpg

the ideal would be that it must be like this (in French)!
Total des fichiers: 48 Fichiers traités: 21 Ok:21 manquants:0 mauvais: 0

Where do I have to add spaces, please?

doofoo24
07-02-2019, 08:17
is it possible to change WizardForm.BorderStyle color ?

kocchi96x
07-02-2019, 12:39
Open Settings.iss and add this to somewhere

#define Value ReadIni(SourcePath + "\Settings.ini", "INISettings", "Value", "")

Open Settings.ini and add this to [INISettings] section
Value=yourname

Because you don't have a type-in field in compact mode.
it worked now thanks :)

Hello KaktoR,
Is it me who forgot something but in normal mode the input field is not displayed!
hmm maybe i'm so tired! lol
i was going to say this to because i didn't see it as well when I converted that compact one i did to a normal one. I'll check with your Post (https://fileforums.com/showpost.php?p=479365&postcount=572) to test.

KaktoR
07-02-2019, 12:59
Need some translations

Hebrew.EnterPlayerName=Enter your player name:

French.EnterPlayerName=Enter your player name:

German.EnterPlayerName=Enter your player name:

Italian.EnterPlayerName=Enter your player name:

Spanish.EnterPlayerName=Enter your player name:

Polish.EnterPlayerName=Enter your player name:

Russian.EnterPlayerName=Enter your player name:

PortugueseBrazil.EnterPlayerName=Enter your player name:

Titeuf
07-02-2019, 22:41
Need some translations

Hebrew.EnterPlayerName=Enter your player name:

French.EnterPlayerName=Enter your player name:

German.EnterPlayerName=Enter your player name:

Italian.EnterPlayerName=Enter your player name:

Spanish.EnterPlayerName=Enter your player name:

Polish.EnterPlayerName=Enter your player name:

Russian.EnterPlayerName=Enter your player name:

PortugueseBrazil.EnterPlayerName=Enter your player name:

Hi,

translated with google translation (except French)


Hebrew.EnterPlayerName=הזן את שם הנגן שלך:

French.EnterPlayerName=Entrez votre nom de joueur:

German.EnterPlayerName=Geben Sie Ihren Spielernamen ein:

Italian.EnterPlayerName=Inserisci il nome del tuo giocatore:

Spanish.EnterPlayerName=Ingrese su nombre de jugador:

Polish.EnterPlayerName=Wpisz swoją nazwę gracza:

Russian.EnterPlayerName=Введите имя игрока:

PortugueseBrazil.EnterPlayerName=Digite o nome do seu jogador:

Titeuf
08-02-2019, 06:47
hello,
here is the translation (Google translation, except for French) for "Create unistaller" in the file "CustomMessages"


English.CreateUninstall=Create uninstaller
Hebrew.CreateUninstall=צור מסיר
French.CreateUninstall=Créer un programme de désinstallation
German.CreateUninstall=Deinstallationsprogramm erstellen
Italian.CreateUninstall=Crea un programma di disinstallazione
Spanish.CreateUninstall=Crear desinstalador
Polish.CreateUninstall=Stwórz dezinstalator
Russian.CreateUninstall=Создать деинсталлятор
PortugueseBrazil.CreateUninstall=Criar desinstalador

KaktoR
11-02-2019, 03:53
beta6

- Fixed french translation for CRC check page (forgot some spaces)
- Fixed some other things
- Added RazorTools
> ZSTD Precompressor
> FIFA 19 Cas Decryption Tool + Precompressor
> Project CARS 2 Bff Decryption Tool

Titeuf
11-02-2019, 04:38
beta6

- Fixed french translation for CRC check page (forgot some spaces)
- Fixed some other things
- Added RazorTools
> ZSTD Precompressor
> FIFA 19 Cas Decryption Tool + Precompressor
> Project CARS 2 Bff Decryption Tool

Hello KaktoR,
Thank you for this new version.
Excellent work (as usual) !!
for the moment this version works very well.
Warmest looks

Titeuf
11-02-2019, 05:22
Hi,
How to display the text: Elapsed & Remaining
https://i.imgur.com/PHEmyuY.jpg
Please, because the text is not displayed!
Thank

KaktoR
12-02-2019, 06:02
Change
ElapsedLabel.Caption := Format('%s', [TicksToStr(CurTick - StartTick)]);
to
ElapsedLabel.Caption := ExpandConstant('{cm:ElapsedTime}') + ': ' + Format('%s', [TicksToStr(CurTick - StartTick)]);

For correct time remaining i have to pass pcoftotal to isarcextract and define it for each archive. It's not the way I want it because I want it without set a value for each archive in use. And that's why I have time remaining deactivated in current release (with current system you will get incorrect times). Will see if there is a other way to make without do it manually.

KaktoR
12-02-2019, 13:42
New one for components (first test)

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.

Schabik
12-02-2019, 20:54
New one for components (first test)

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.

Will test it today, lately tomorrow :-)

LilKil
13-02-2019, 10:39
New one for components (first test)

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.

Works good but there's a problem when you disable "Component" in "Settings.ini" and then try to run the script:

https://i.gyazo.com/4000d2d149cdf4a27ef58b2a7b7cd858.png

Is there something I need to do or is that a bug?

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
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
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
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
@ 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
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!

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)

[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
New one for components (first test)

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
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


[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):


// 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):


[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:


[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:


#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

Schabik
22-02-2019, 04:50
Hello Schabik,
maybe can you put pictures?
thank you in advance


If You want to see how it looks, here You are:D


I'm attaching screens "Before" and "After" :D :)


Components page before the modyfication:

24183


And after modification:


With Radiobuttons:
24182


With Checkboxes (Yep, I also modified them to add languages as a subcategory):
24181


I hope KaktoR will love it because everything he did works and brought this idea to the daylight :)

Titeuf
22-02-2019, 04:52
It's very pretty Schabik !!

Schabik
22-02-2019, 04:54
It's very pretty Schabik !!


Thanks!! :D As I said I hope KaktoR will appreciate it too as it is his Project.

KaktoR
22-02-2019, 05:22
I was able to fix this weird skin bug for the scrollbars (thanks to Cesar, he gave me this tip).

I have also changed the language archive unpacking (it has now correct progress).

I think I will implement the ISHash now to compactmode and share an updated script then (might take some days).

Next update:
v7.1.2 beta7
__________________________________________________ ___
- Fixed component prograss on ProgressBar
- Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin
- Added Skin support to LanguageBox
- Added Skin support to Uninstall progress
- Added ISHash library to CompactMode
- Changed appearance in Components page

yasitha
24-02-2019, 01:13
While I'm away. I have fix lots of issues.
and i have remove all other languages.
For my personal use

I have fix time remaining and some redist CM
and some other minor issues..

I have try to fix that known bugs,
try almost a day but nothing works...

But Now i see you have fixed it.

KaktoR how did you fix this known bug?

Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin

Please add codes that fixed it.
so I can upgrade mine. Thanks!

KaktoR
24-02-2019, 01:18
You have to use TNewMemo for the Memos (WizardForm.LicenseMemo and WizardForm.InfoBeforeMemo) because cjstyles is not compatible with TRichEditViewer.

yasitha
24-02-2019, 05:48
You have to use TNewMemo for the Memos (WizardForm.LicenseMemo and WizardForm.InfoBeforeMemo) because cjstyles is not compatible with TRichEditViewer.

Oky, if you could please post whole codes that correct this issues would be very nice
Thanks...

Schabik
24-02-2019, 05:59
When will be beta7 posted? :-)

pakrat2k2
24-02-2019, 17:04
^ when its done !! Why even ask ??

Schabik
24-02-2019, 22:18
Just eager to test it :-)

KaktoR
25-02-2019, 03:20
Maybe today :)

S-Ghost
25-02-2019, 03:30
Thanks Bro.. i came back

KaktoR
25-02-2019, 09:47
Here is b7

If you encounter any errors, make a screenshot and send me your settings.ini

It could always help to debug the setup (F9) to find possible errors with different settings (I have not tested all possible settings until now).

Schabik
26-02-2019, 02:30
CJStyles not working


If I choose any cjstyles file it unpacks but do not load.


What should it look like:
24219


Ehat it looks like:
24220




Another thing, Why components are more complicated in this beta than the previous one?


In this beta, if You add a name to F.O.X. "Archive1Name=" it changes to radiobutton+it has the name that we added ("Archive1Name=Nameofcomponent"), if there is no name it changes to checkbox and gives us the name of language file.


In my opinion previous solution was way better, I hope You agree.
Approx the same amount of code and more clarity. :)


As for the cjstyles problem, I'm attaching my settings.ini



In Beta6 it worked like a charm.

KaktoR
26-02-2019, 04:34
CJStyles not working


If I choose any cjstyles file it unpacks but do not load.


What should it look like:
24219


Ehat it looks like:
24220
Remove the cjstyles parameter in settings.ini
With new update you can choose the style INI files (just open one of the styles with 7z)

Example for 1.cjstyles you used:
1.cjstyles\.rsrc\TEXTFILE\


Another thing, Why components are more complicated in this beta than the previous one?


In this beta, if You add a name to F.O.X. "Archive1Name=" it changes to radiobutton+it has the name that we added ("Archive1Name=Nameofcomponent"), if there is no name it changes to checkbox and gives us the name of language file.


In my opinion previous solution was way better, I hope You agree.
Approx the same amount of code and more clarity. :)

Yes that should not be the case. I will look into it.
With the new system you can disable checkboxes you don't need without code editing.

Before all checkboxes were always visible even if you only needed one or two of them.

Schabik
26-02-2019, 05:06
Yes that should not be the case. I will look into it.
With the new system you can disable checkboxes you don't need without code editing.

Before all checkboxes were always visible even if you only needed one or two of them.




Thanks for the answer :) Now it works like a charm :)


When You fix the components issue it will be helpful :) And You're right it will be in fact useful :)

yasitha
02-03-2019, 18:15
On system Detection,
GPU won't detect old ATI Cards but CIU2 and 3 Detect Ati cards. I can add picture if you want...

I want your ASIS to be Perfect :)
So when you fix all Bugs it should be better...

if you could add codex and plaza NEW
Interface like compact mode.

some guys don't like Graphics.
so simple interface is good for those guys.

Everything on One Page :)

Titeuf
05-03-2019, 00:01
Hello,
How can I not display this when I do not need the language files?
Because in seting I did this:


[Component]
// Enable Yes (1) or No (0). If you don't need specific Archives, just place a semicolon (;)
Enable=0
EnableRadiobutton=0
;Archive1Name=Soundtrack
;Archive1=English.arc
;Archive2Name=Wallpapers
;Archive2=French.arc
;Archive3Name=
;Archive3=German.arc
;Archive4Name=
;Archive4=Italian.arc
;Archive5Name=
;Archive5=Spanish.arc
;Archive6Name=
;Archive6=Polish.arc
;Archive7Name=
;Archive7=Russian.arc
;Archive8Name=
;Archive8=PortugueseBrazil.arc


But this shows this:


Thank you

KaktoR
05-03-2019, 01:43
Will be fixed soon.

exorc
05-03-2019, 08:30
How to found external compresion (Records.ini) with lastest update?

Schabik
05-03-2019, 08:35
How to found external compresion (Records.ini) with lastest update?

Can you precise what do you mean with "how to found external compression"??


If I recall the only thing that was changed since 7.0.8 it was that Records.ini can be internal, other from that is all the same.

You enter Records to Records.ini and voila, if You use Components like seperate files for languages, You configure them in Settings.ini.

exorc
05-03-2019, 09:04
Yes need activate internal records to 1 in settings.ini, Thanks.

Can it integrate the progress bar in setup frontend?

Sorry for my english..

KaktoR
05-03-2019, 09:07
Components will be completely reworked (just because with ISPP it's a mess!).

Working atm on crc check for compactmode.

yasitha
11-03-2019, 23:08
Hi KaktoR,
Please update the first page with latest Release!

bubobih
14-03-2019, 15:17
Hello there is 4 bugs that im notice,

1st is uninstall icon in control panel doesent show, at least in windows 10
i solve that adding in
[Setup]
UninstallDisplayIcon={uninstallexe}

Second bug is [CRCCheck] when u disable it at the end u get this error
https://image.prntscr.com/image/t9ZBq4ozQyexe5xyug7lKg.jpeg

3rd bug is when u increase font size in windows 10 (idk about other) install window get messed.

4th bug is showing installation size in add remove and in other 3rd party uninstallers, it says 1.5mb. I solve that adding this line in
[Setup]
UninstallDisplaySize=


Set in bytes. (1048576 bytes = 1 megabyte)

u need pretty big number, and u need to change it manualy every time. Maybe someone have some automatised line for this.

Additional tips to show in add/remove programs

AppPublisher=Name
AppPublisherURL=https://example.com/

KaktoR
15-03-2019, 10:03
Could you add a screenshot of bug #4 please?

yasitha
15-03-2019, 11:23
Could you add a screenshot of bug #4 please?

I have fix that in long time a go. It's actually not a bug.
When we create setup.exe file. It's only count itself not the game.

He's talking about Uninstall panel on the windows..
It only shows 1.5mn or 30mb of setup.exe So we have to add Uninstall display size.. To show the game size..

KaktoR
15-03-2019, 11:57
UninstallDisplaySize={#SizeMB}
should work

yasitha
15-03-2019, 19:33
UninstallDisplaySize={#SizeMB}
should work

It's not,
Cause UDS need Game Size in bytes, not in MB or GB
10737441824 (1MB)

To get right size on UDS you have to put size on like this.

1024 x 1024 = 1,048,576 (1MB)
1,048,576 x 1024 = 1,073,741,824 (1GB)

K4miKaZe
15-03-2019, 21:21
It's not,
Cause UDS need Game Size in bytes, not in MB or GB
10737441824 (1MB)

To get right size on UDS you have to put size on like this.

1024 x 1024 = 1,048,576 (1MB)
1,048,576 x 1024 = 1,073,741,824 (1GB)

I think what KaktoR means to say is to put exactly what he wrote on the script:

UninstallDisplaySize={#SizeMB}

and not

UninstallDisplaySize=Any number in MB

SizeMB is probably linked to the settings/setup ini, same value you put in for the game size on it. Not sure as im not home, but thats what i understand at least and if SizeMB is the same used for the game size, it should also work for this.

yasitha
15-03-2019, 21:35
I think what KaktoR means to say is to put exactly what he wrote on the script:

UninstallDisplaySize={#SizeMB}

and not

UninstallDisplaySize=Any number in MB

SizeMB is probably linked to the settings/setup ini, same value you put in for the game size on it. Not sure as im not home, but thats what i understand at least and if SizeMB is the same used for the game size, it should also work for this.

No you can't do that,
cause setting.ini requires size as megabytes,
but UDS requires size as bytes.
The only way to fix this to add another one like {#UDSize} to Script and settings.ini and we have to put game size as megabytes and UDS size as bytes
It will solved the problem.

K4miKaZe
15-03-2019, 23:09
Well, if its in bytes then this will not work but you can set it up adding zeros to the end, its not 100% accurate but it should work almost fine.

UninstallDisplaySize={#SizeMB}000000

Maybe instead of 1024 values we can change the mb value to 1000 so it would work for for install and uninstall. As said, im not at home so i cant take a better look into it.

yasitha
15-03-2019, 23:28
Well, if its in bytes then this will not work but you can set it up adding zeros to the end, its not 100% accurate but it should work almost fine.

UninstallDisplaySize={#SizeMB}000000

Maybe instead of 1024 values we can change the mb value to 1000 so it would work for for install and uninstall. As said, im not at home so i cant take a better look into it.

adding the another one like this will works perfectly.
I already done it.

Settings.ini

Size=46080
UDSize=42563458747

in Script
UninstallDisplaySize={#UninstallSize}

When, we Pack the Game, we just need to copy paste the games size to UDSize is that simple.

KaktoR
16-03-2019, 01:15
Ok I will write a simple function for calculation ({#SizeMB} * 1024 = UninstallDisplaySize).

This should work then because {#SizeMB} * 1024 = bytes

K4miKaZe
16-03-2019, 02:25
Ok I will write a simple function for calculation ({#SizeMB} * 1024 = UninstallDisplaySize).

This should work then because {#SizeMB} * 1024 = bytes

Yeah, that would be the best option. Just keeping things simple as always.

Thanks KaktoR !!!

KaktoR
16-03-2019, 14:33
Here is a changelog for next version.

v7.1.2 beta8
__________________________________________________ ___
- Added Redist installation to CompactMode
- Added ISHash library to CompactMode (now really!)
- Updated ISHash library (thanks to peterf1999)
- Reworked Components (thanks to Cesar82)
> Information will follow later
- Updated 7z to v19.0.0.0
- Changed 'Size=' key in Settings.ini
> It is now possible to write size as follow:
b,B,k,K,kb,KB,Kb,m,M,mb,MB,Mb,g,G,gb,GB,Gb,t,T,tb, TB,Tb,p,P,pb,PB,Pb
Example: 12345 Gb, 987.6 m
- Fixed slideshow
> Before it always show the first picture twice.
- Fixed not correct size in Windows Control Panel
- Fixed some other bugs

KaktoR
17-03-2019, 05:17
Components help:

.Name=
Use custom name.
Example:
Component1.Name=Soundtrack
Component2.Name=Wallpapers
...

Or use languages

Valid cm:xx values:
EN, ENGLISH
FR, FRENCH
DE, GERMAN
IT, ITALIAN
ES, SPANISH
PL, POLISH
RU, RUSSIAN
BR, BRAZILIAN

Component1.Name=cm:ENGLISH
Component2.Name=cm:RU

Only most used languages were added. Maybe more in next version.


.File=
Set filename to be linked to the component. The archive will only extracted if component is selected before installation starts.


.Size=
Set size of component.
Example: Component1.Size=1500 mb

PS: You can use different units for sizes.
Example: Component1.Size=1500 mb, Component2.Size=666 kb


.Level=
Set the (main) component to left (0) or right (1) and make a dependence for all following components. This is helpful if you want to make different groups of components.
Example:
Component2.Level=0
Component3.Level=1
Component4.Level=1
Component5.Level=1
Component2 is the topper component. 3+4+5 are dependend from Component2. If you disable Component2, 3+4+5 will be disabled too.


.Exclusive=
Make a Checkbox (0) or a RadioButton (1).

PS: RadioButton is usefull if a game can only have one language installed (some games use same files for different languages).


.Checked=
Set default state for CB/RB. 1 is checked, 0 is not checked


.Enabled=
Set enable (1) or disable (0).

Components.iss and CompactMode.iss are no longer neccessary (you can delete them).

Titeuf
17-03-2019, 08:57
Hello,
thank you for this new version.
Under Windows 8.1Pro after choosing the language of the installation wizard, after splash display I have this message 2 times (look at my picture) before the wizard opens because of "if CurPageID = ComponentsPage.ID then "and yet I did this in settings.ini:" because when I run the installation from innoSetup, it displays this: look at my image.
Thank you for your help

KaktoR
17-03-2019, 10:27
Fixed. Replace Script.iss from "7.1.2.beta8.FIX.7z" in previous post.

bubobih
17-03-2019, 12:09
U are missing close and minimise icons in setup

http://prntscr.com/mz6bn8

Edit:
Now i have it.... hmmm strange :P i didnt do anything just recompile :)

Edit2: It is possible to add more background musics so it can play random or by some order? Just a question beacuse some installations take long and maybe 2-3 different music files will look (non bornig).

KaktoR
17-03-2019, 14:20
Yes it's possible. I will try something out.

bubobih
18-03-2019, 14:35
How to use lolz compression. Sorry im dumb :)

Schabik
18-03-2019, 20:48
How to use lolz compression. Sorry im dumb :)

For a newbie I think that using tutorial for ultraarc will be the easiest way to learn how.
But I think this topic is about ASIS installer not for questions like that, just make a new topic and You'll get plenty of answers an by that I mean answers related to Your topic so You'll not get messed up by searching answers for your questions and questions about ASIS :-)

yasitha
18-03-2019, 20:49
How to use lolz compression. Sorry im dumb :)

in ASIS you can see Compressor.ini open it ans change
//#Lolz to
#Lolz

Also you can change Dual to x64
Dual means x86 & x64
x64 mean 64 bit only.

Tip,
If you repack 64 bit game make sure to enable 64 bit only in setup ini and use only x64 on all methods in Compressor.ini

bubobih
18-03-2019, 21:33
in ASIS you can see Compressor.ini open it ans change
//#Lolz to
#Lolz

Also you can change Dual to x64
Dual means x86 & x64
x64 mean 64 bit only.

Tip,
If you repack 64 bit game make sure to enable 64 bit only in setup ini and use only x64 on all methods in Compressor.ini

Tnx i will try tbat :) i saw that but i didnt touch it. I also see in iss its says

#define Compression "lzma"
#if InternalRecords == "1"
#include "Records.ini"
#endif

Do i need to change that too? Regards

yasitha
18-03-2019, 22:38
Tnx i will try tbat :) i saw that but i didnt touch it. I also see in iss its says

#define Compression "lzma"
#if InternalRecords == "1"
#include "Records.ini"
#endif

Do i need to change that too? Regards

no you don't.
Its like Default settings,
i use those settings so don't touch it

lzma compress setup files png jpg mp3 dll files that create setup exe.. Its the best for that one.

about Records.ini
If you change it to 0 you have to put Records.ini near to setup.exe to run, if u put 1 you don't need records.ini with setup.exe

You can run installer with setup.exe, don't need records.ini

bubobih
18-03-2019, 23:14
in ASIS you can see Compressor.ini open it ans change
//#Lolz to
#Lolz

Also you can change Dual to x64
Dual means x86 & x64
x64 mean 64 bit only.

Tip,
If you repack 64 bit game make sure to enable 64 bit only in setup ini and use only x64 on all methods in Compressor.ini


he is by default like this http://prntscr.com/mztwbk

and when i compress like this http://prntscr.com/mztwqf

i get error in setup.exe compression method unsupported or something like that

bubobih
18-03-2019, 23:23
no you don't.
Its like Default settings,
i use those settings so don't touch it

lzma compress setup files png jpg mp3 dll files that create setup exe.. Its the best for that one.

about Records.ini
If you change it to 0 you have to put Records.ini near to setup.exe to run, if u put 1 you don't need records.ini with setup.exe

You can run installer with setup.exe, don't need records.ini

When i put records ini to 1 where and what name shoud be data pack so setup can find it?

yasitha
18-03-2019, 23:36
When i put records ini to 1 where and what name shoud be data pack so setup can find it?

First of all you have to pack a game with Diskspan or UltraAr, if you like to split the game setup to DVD5, DVD9 or BD2 then i recommend diskspan.

If you don't,
Then you can just use bat file to create repack.

So an example you have a game repack
Data1.bin.001
Data2.bin.002
Data3.bin.003

001*** extinction comes with diskspan ok.SO you only have to add Data.bin.001 to Record1 that's all
You don't need to add others data2 or 3.

[Record1]
Type=Freearc_Original
Source={src}\Data.bin.001
Output={app}
Disk=1

bubobih
18-03-2019, 23:38
First of all you have to pack a game with Diskspan or UltraAr, if you like to split the game setup to DVD5, DVD9 or BD2 then i recommend diskspan.

If you don't,
Then you can just use bat file to create repack.

So an example you have a game repack
Data1.bin.001
Data2.bin.002
Data3.bin.003

001*** extinction comes with diskspan ok.SO you only have to add Data.bin.001 to Record1 that's all
You don't need to add others data2 or 3.

[Record1]
Type=Freearc_Original
Source={src}\Data.bin.001
Output={app}
Disk=1

Im using ultrarc and i make only 1 bin or whatever extension i make. But records ini must be near setup.exe or he will not install nothing. i want to remove records.ini from setup files. so only to be setup.exe and data file

Edit: ooo i see in settings.ini add this

[Record1]
Type=Freearc_Original
Source={src}\Data.bin.001
Output={app}
Disk=1

yasitha
18-03-2019, 23:46
Im using ultrarc and i make only 1 bin or whatever extension i make. But records ini must be near setup.exe or he will not install nothing. i want to remove records.ini from setup files. so only to be setup.exe and data file

Well i never use UltraARC with ASIS.

Try Changing Source name to your file

Source={src}\Data1.Bin

Change this one and try you have to change internal Record ini (1)
Then try,

if its not work.

Try this

[Record1]
Type=Split
Source={src}\Data.bin
Output={app}\Data.bin
Disk=1

If this not woke try changing

Output={app}\Data.bin
to
Output={tmp}\Data.bin

app to tmp. Or you could ask KaktoR,
He's the best and he knows everything..

KaktoR
19-03-2019, 02:02
If you use UltraArc you have to use the Records.ini UltraArc creates.

bubobih
19-03-2019, 02:05
If you use UltraArc you have to use the Records.ini UltraArc creates.
Aha, ya idk another way.... Yet :) but i want to tty lolz compression as i see its better than lzma. But idk to setup your setup. Maybe arc make something wrong so your installer cant accept to decompress...

KaktoR
19-03-2019, 02:06
I just saw that UltraARc use a older lolz version.

Download this https://fileforums.com/showpost.php?p=478312&postcount=11
Take "lolz_x64.exe" from pack folder and put it in UltraArc resources folder and rename to "lolz.exe"
Note: You have to recompressing.

bubobih
19-03-2019, 02:23
Still have error

http://prntscr.com/mzwm4n

my ultraarc
http://prntscr.com/mzwn2i

my Compressor.ini

http://prntscr.com/mzwnfb

Schabik
19-03-2019, 03:07
@KaktoR by the way, did You fix remaining time for the installation?

KaktoR
19-03-2019, 09:04
No not yet,

yasitha
19-03-2019, 09:17
No not yet,

I'm not sure this is work but what if you combine time remaining with Records.ini?

when we add second/third archive to R.ini,
remaining times already know how long it will takes,
Cause records.ini had all archives added

maybe that will works.

KaktoR
19-03-2019, 09:29
It works, but I have no clue how to make it with all the components (I go with Records.ini)

https://i.imgur.com/HICK2CP.png

The problem is still, that you have to put all percents manually. For one archive it's not a problem, in this case it's always '100'.

bubobih
19-03-2019, 09:45
what about my error :P

Schabik
19-03-2019, 12:18
what about my error :P

Hmmm... What version of lolz and xtool did You use for compression?

bubobih
19-03-2019, 12:20
Hmmm... What version of lolz and xtool did You use for compression?

I use from this tools folder and i update lolz from last link that u can read here

Schabik
19-03-2019, 12:26
Did You update the version of cls-lolz on the ASIS Decompressors folder to the same version that You use for packing? Cls-lolz should be in the package that you used for the update of the lolz compressor. Error might be caused by the version mismatch between compressor and decompressor

bubobih
19-03-2019, 12:39
Did You update the version of cls-lolz on the ASIS Decompressors folder to the same version that You use for packing? Cls-lolz should be in the package that you used for the update of the lolz compressor. Error might be caused by the version mismatch between compressor and decompressor
No i didnt, i saw that but i didnt. I will do it now... and report when i make new setup

Yap that worked tnx very much :P

kocchi96x
20-03-2019, 02:41
this happens with both compact and normal when I go to uninstall.
https://i.imgur.com/Zhb4zl5.jpg

bubobih
20-03-2019, 02:45
this happens with both compact and normal when I go to uninstall.
https://i.imgur.com/Zhb4zl5.jpg

I had that beacuse i remove _uninstall folder and put uninstall directly to root of directory, after latest asis update if u search in iss uninstall u will see many lines that point to _uninstall folder so i just return uninstall path to _uninstall and that error dissapier...

Titeuf
20-03-2019, 02:47
this happens with both compact and normal when I go to uninstall.
https://i.imgur.com/Zhb4zl5.jpg

Hello,
read this:

https://fileforums.com/showpost.php?p=480229&postcount=638

And :

https://fileforums.com/showpost.php?p=480230&postcount=639

maybe it will fix your error messages!

KaktoR
20-03-2019, 09:32
I have added 'UnInstallFolder=' to Settings.ini, where you can type in a custom folder. If it is empty, uninstall files will be in root directory.

If no other error comes up, I will upload v7.1.2 to a complete archive and add to first post, means out of beta (finally after months :D).

After this I will look on time remaining for components.

bubobih
20-03-2019, 09:42
I have added 'UnInstallFolder=' to Settings.ini, where you can type in a custom folder. If it is empty, uninstall files will be in root directory.

If no other error comes up, I will upload v7.1.2 to a complete archive and add to first post, means out of beta (finally after months :D).

After this I will look on time remaining for components.

Just to say there is still bug in win 10 when u use 120%+ font in windows settings. Here is a picture. Letter size mess all setup window.

https://cdn.discordapp.com/attachments/405473374593220610/557981961147252738/slika.png

Also i cant wait more music option :)

Schabik
20-03-2019, 11:27
Just to say there is still bug in win 10 when u use 120%+ font in windows settings. Here is a picture. Letter size mess all setup window.

https://cdn.discordapp.com/attachments/405473374593220610/557981961147252738/slika.png

Also i cant wait more music option :)

Yep, I confirm the problem

KaktoR
20-03-2019, 12:55
Hmm, seems to be a porblem with font dpi size. I don't know how it works nor how to fix it, but I will take a look.
I use just 1080p without font scaling (100%) so this bug was not detected by me.

kocchi96x
20-03-2019, 13:04
My problem was the same as bubobih on what he posted Here (https://fileforums.com/showpost.php?p=480290&postcount=666) error is gone now.

Schabik
20-03-2019, 20:47
Hmm, seems to be a porblem with font dpi size. I don't know how it works nor how to fix it, but I will take a look.
I use just 1080p without font scaling (100%) so this bug was not detected by me.

I've managed to solve the problem just resizing the setup just to be bigger, and I think it would be OK on scaling 125% and 100%

KaktoR
21-03-2019, 02:39
I think I have fixed the issue.

Note: Use this over beta8 (+FIX) because this beta is not cumulative.

PS: I've also added time remaining. This only works with single archive (X.bin or X.bin.001 for diskspan) and disabled components for now.

bubobih
21-03-2019, 09:38
I think I have fixed the issue.

Note: Use this over beta8 (+FIX) because this beta is not cumulative.

PS: I've also added time remaining. This only works with single archive (X.bin or X.bin.001 for diskspan) and disabled components for now.

On my display its fixed but i get report from 1 guy, he have 4k display he have still problems....

http://prntscr.com/n13ix1

https://prnt.sc/n13ikn

Schabik
22-03-2019, 04:53
Ok, sory @bubobih for the "out of the blue" question for @KaktoR but.


@KaktoR can You tell me what I must add to Your script if I want to check if the component was selected or not and components are checked ("=1") in the settings.ini



For example I want to check if Components are enabled in settings.ini and Polish language was selected (As Components name I'll use cm:PL) can I check if it is selected by adding something like this:


if ({#UseComponents} = 1) and (IsComponentSelected(GetIniString('ComponentsSetti ngs', 'Component' + IntToStr(CompIndexList[I])+ '.Name' = 'cm:PL')) then
begin



Of course I know the code above is wrong and It won't work but with some adjustments I'm sure it would.

KaktoR
22-03-2019, 06:07
I think I don't understand your question right.

If you select a cmomponent in installer, it will be extracted. If it is not selected, installer will not extract it.

Schabik
22-03-2019, 07:10
I think I don't understand your question right.

If you select a cmomponent in installer, it will be extracted. If it is not selected, installer will not extract it.
The extract part is OK, although I'm having problems with understanding the new code.

I have to run a program conditionally that targets in AC1 .forge.patch files.

The condition is that it only should run when Polish or Czech language is selected. How to check if Polish (for example component3.Name=cm:PL) is selected to run the program and run it if the condition is fulfilled?

In Beta6 or 7 it was easy, check if "IsComponentSelected('lang\PolishLang')" and then run program to patch the forge files but now it's not clear for me.

KaktoR
22-03-2019, 14:57
Ok now I understand.

I will look.

Schabik
22-03-2019, 22:09
Ok now I understand.

I will look.

Thanks 😊

Cesar82
23-03-2019, 19:41
The extract part is OK, although I'm having problems with understanding the new code.

I have to run a program conditionally that targets in AC1 .forge.patch files.

The condition is that it only should run when Polish or Czech language is selected. How to check if Polish (for example component3.Name=cm:PL) is selected to run the program and run it if the condition is fulfilled?

In Beta6 or 7 it was easy, check if "IsComponentSelected('lang\PolishLang')" and then run program to patch the forge files but now it's not clear for me.

How to use by ID (ID is the number of the component represented by "#" in keys Component#.Name=):
if IsComponentSelectedByID(3) then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

How to use by Name (Same name that you used in INI):
- If you have "Character Backslash" in the name you will check with dependence on "Level".
- If you do not have "Character Backslash" in the name you will only check on the components with "Component#.File" other than empty.
if IsComponentSelectedByName('Game Components\') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

if IsComponentSelectedByName('Game Components\Custom Name') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

if IsComponentSelectedByName('Game Components\cm:FR') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

Schabik
24-03-2019, 09:45
How to use by ID (ID is the number of the component represented by "#" in keys Component#.Name=):
if IsComponentSelectedByID(3) then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

How to use by Name (Same name that you used in INI):
- If you have "" in the name you will check with dependence on "Level".
- If you do not have "" in the name you will only check on the components with "Component # .File" other than empty.
if IsComponentSelectedByName('Game Components\') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

if IsComponentSelectedByName('Game Components\Custom Name') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

if IsComponentSelectedByName('Game Components\cm:FR') then
MsgBox('True', mbInformation, MB_OK)
else
MsgBox('False', mbInformation, MB_OK);

Do I need to add some decelerations to the code for IsComponentSelectedByID or IsComponentSelectedByName functions?

KaktoR
24-03-2019, 09:54
You can use the folowing for CurStep = ssPostInstall or CurStep = ssDone (like you wish)

if IsComponentSelectedByName('Game Components\cm:PL') then
{Execute program here (you can use Exec2 function)}
if IsComponentSelectedByName('Game Components\cm:CZ') then
{Execute program here (you can use Exec2 function)}

Btw, I rework the Redist page. New update will follow in the next days.

Schabik
24-03-2019, 11:35
You can use the folowing for CurStep = ssPostInstall or CurStep = ssDone (like you wish)

if IsComponentSelectedByName('Game Components\cm:PL') then
{Execute program here (you can use Exec2 function)}
if IsComponentSelectedByName('Game Components\cm:CZ') then
{Execute program here (you can use Exec2 function)}Btw, I rework the Redist page. New update will follow in the next days.
OK, thanks a lot guys 😁 I'll check it out tomorrow, because today is Sunday and in my country about 8:30 PM. 😋


Ok, after adding the conditions and trying to compile I've got an error says that a comma is expected. after looking at the end of the line the comma is added but in the 94-th column there should't be a comma.
24411


I'm attaching my script.

Cesar82
25-03-2019, 01:58
OK, thanks a lot guys 😁 I'll check it out tomorrow, because today is Sunday and in my country about 8:30 PM. 😋


Ok, after adding the conditions and trying to compile I've got an error says that a comma is expected. after looking at the end of the line the comma is added but in the 94-th column there should't be a comma.
24411


I'm attaching my script.

try:
Goto line 4225 and replace in this line end; by #endif
Now goto line 3945 and delete this for lines ( 3945, 3946, 3947, 3948 ) and insert:
#if UseComponents == "1"
if (IsComponentSelectedByName('cm:GameLang\cm:PL')) then
begin
WizardForm.ProgressGauge.Hide;
WizardForm.StatusLabel.Caption := ExpandConstant('{cm:PatchingFiles}');


Attached is a way for you to simplify the code of applying the path with xdelta.
Only the file names change, so it's more practical to create a loop

Schabik
25-03-2019, 02:13
try:
Goto line 4225 and replace in this line end; by #endif
Now goto line 3945 and delete this for lines ( 3945, 3946, 3947, 3948 ) and insert:
#if UseComponents == "1"
if (IsComponentSelectedByName('cm:GameLang\cm:PL')) then
begin
WizardForm.ProgressGauge.Hide;
WizardForm.StatusLabel.Caption := ExpandConstant('{cm:PatchingFiles}');


Nope, still the same :(
Ok, I've got it now.


in:

RegWriteDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\{#Name}_is1', 'EstimatedSize', Round(InstallationSize / 1024));



my {#Name} constant is "Assassin's Creed", the apostrophe causes the error...
Is there a way to replace the apostrophe for the name of the Game to be complete?
Unfortunately I think the game's name must be with the apostrophe for registry entries to work :(

Cesar82
25-03-2019, 02:28
Nope, still the same :(
Ok, I've got it now.


in:

RegWriteDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\{#Name}_is1', 'EstimatedSize', Round(InstallationSize / 1024));



my {#Name} constant is "Assassin's Creed", the apostrophe causes the error...
Is there a way to replace the apostrophe for the name of the Game to be complete?
Unfortunately I think the game's name must be with the apostrophe for registry entries to work :(
replace line by:
RegWriteDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\{#StringChange(Name, "'", "''")}_is1', 'EstimatedSize', Round(InstallationSize / 1024));

Look at the previous post the script I posted;

Schabik
25-03-2019, 03:24
replace line by:
RegWriteDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta ll\{#StringChange(Name, "'", "''")}_is1', 'EstimatedSize', Round(InstallationSize / 1024));Look at the previous post the script I posted;


Thanks :)
Ok, About DPICalculator, I think it Does work for 125% Scale but on 100% it does This:


24413


and on 150% does this:


24414

KaktoR
25-03-2019, 07:40
Unfortunatelly I only have a FullHD monitor (1920x1080) and therefore I can't test the DPI right. Maybe Cesar is in the mood to fix this someday :(

Cesar82
25-03-2019, 07:41
Thanks :)
Ok, About DPICalculator, I think it Does work for 125% Scale but on 100% it does This:


24413


and on 150% does this:


24414

I do not know what's happening to you.
Here in Full HD resolution change to 125%, 150% 175% works normal.
https://i.imgur.com/bu87yFH.png

Schabik
25-03-2019, 09:16
I do not know what's happening to you.
Here in Full HD resolution change to 125%, 150% 175% works normal.
https://i.imgur.com/bu87yFH.png

OK I'll check it out tomorrow


Ok, the case looks like this,


If I run on basic script (modified only with the statements that verify the selected components to modify files) on my PC with 100% DPI scaling it works fine, the same is after changing to 125%, 150% and 175% but with already runned setup.

I forgot to mention, on both Desktop and Laptop I have 1980x1080 resolution, and on Laptop 125% scaling, as for Desktop 100%


If I run the setup after changing the scale to for example 125% it looks like that:


24415


so, the DPICalculator in fact does not work... :(


Edit:


Ok, @KaktoR, @Cesar82 Problem solved.


The Case was that in the original script there were absolute coordinates and sizes for the size of Forms etc.


Just change the absolute sizes to SizeX and SizeY values and Voila :D
For Example if You Have "WilkommenLabel.Width := 600" change it to "WilkommenLabel.Width := SizeX(600)", for "*.Height :=300" change to "*.Height = SizeY(300)", "Top :=" to "Top := SizeY()", "Left :=" to "Left := SizeX()".




Tested it on "WillkommenLabel" and it works.

KaktoR
28-03-2019, 11:17
Thanks to @Schabik I was able to fix the DPI for 4K monitors/resolutions.

Here is the new stable version (added to post #1).

v7.1.2
__________________________________________________ ___
- Added Redist installation to CompactMode
- Added ISHash library to CompactMode (now really!)
- Updated ISHash library (thanks to peterf1999)
- Added components
> With this you can unpack language archives or other archives
> Set them in Settings.ini
> You don't need to add them to Records.ini
- Reworked Components (thanks to Cesar82)
- Updated 7z to v19.0.0.0
- Changes 'Size=' key in Settings.ini
> It is now possible to write size as follow:
b,B,k,K,kb,KB,Kb,m,M,mb,MB,Mb,g,G,gb,GB,Gb,t,T,tb, TB,Tb,p,P,pb,PB,Pb
- Fixed slideshow
> Before it always show the first picture twice.
- Fixed not correct size in Windows Control Panel
- Fixed some other bugs
- Fixed component progress on ProgressBar
- Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin
- Added Skin support to LanguageBox (thanks to Cesar82)
- Added Skin support to Uninstall progress
- Changed appearance in Components page
- Added compact mode to installer
> This is an option for minimalistic setup with only one page
> In CompactMode you can only use SFV and MD5 files for CRC check
I will implement ISHash library later in CompactMode
- Fixed LogButton in CRC Check page
- Fixed other bug if CRC check is disabled
- Added checkbox for "Create Uninstaller"
> If checkbox is checked, Uninstall files will be created
> If checkbox is not checked, no uninstall files will be created
- Added [INISettings] to Settings.ini
> With this you can change INI settings after installation is done
- Fixed french translation for CRC check page (forgot some spaces)
- Added RazorTools
> ZSTD Precompressor
> FIFA 19 Cas Decryption Tool + Precompressor
> Project CARS 2 Bff Decryption Tool
> LZX Precompressor
- Fixed DPI calculation if text scaling in Windows Display Settings was greater than 100% (thanks to Cesar82)

HunterEmrah
30-03-2019, 11:43
how can i apply custommessage for Main files component ?

Script.iss
function TranslateComponentName(StrName: String): String;
begin
case Trim(Uppercase(Copy(StrName, Pos('cm:', LowerCase(StrName)) + Length('cm:'), Length(StrName)))) of
'EN', 'ENGLISH' : Result := CustomMessage('CompEnglish');
'FR', 'FRENCH' : Result := CustomMessage('CompFrench');
'DE', 'GERMAN' : Result := CustomMessage('CompGerman');
'IT', 'ITALIAN' : Result := CustomMessage('CompItalian');
'ES', 'SPANISH' : Result := CustomMessage('CompSpanish');
'PL', 'POLISH' : Result := CustomMessage('CompPolish');
'RU', 'RUSSIAN' : Result := CustomMessage('CompRussian');
'BR', 'BRAZILIAN' : Result := CustomMessage('CompPortugueseBrazil');
'MX', 'MEXICAN' : Result := CustomMessage('CompMexican');
'CZ', 'CZECH' : Result := CustomMessage('CompCzech');
'CL', 'COMPLAN' : Result := CustomMessage('CompLan');
'CB', 'COMPBONUS' : Result := CustomMessage('CompBonus');
'GC', 'COMPMAIN' : Result := CustomMessage('CompMain');
else
Result := StrName;
end;
end;
ComponentsSize := 0;
SetArrayLength(CompIndexList, 0);
IniFile := ExpandConstant('{tmp}\Settings.ini');
ComponentsPageAvai := GetIniBool('ComponentsSettings', 'Enable', False, IniFile);
if ComponentsPageAvai then
begin
if IniKeyExists('ComponentsSettings', 'Component' + IntToStr(I) + '.Name', IniFile) then
begin
CompName := 'cm:COMPMAIN';
ComponentsList.AddCheckBox(CompName, '', 0, True, False, True, True, nil);
end;

CustomMessages.iss
English.CompMain=Main files

also tried to type {cm:CompMain} for CompName, doesn't working

Schabik
30-03-2019, 11:58
how can i apply custommessage for Main files component ?

Script.iss
function TranslateComponentName(StrName: String): String;
begin
case Trim(Uppercase(Copy(StrName, Pos('cm:', LowerCase(StrName)) + Length('cm:'), Length(StrName)))) of
'EN', 'ENGLISH' : Result := CustomMessage('CompEnglish');
'FR', 'FRENCH' : Result := CustomMessage('CompFrench');
'DE', 'GERMAN' : Result := CustomMessage('CompGerman');
'IT', 'ITALIAN' : Result := CustomMessage('CompItalian');
'ES', 'SPANISH' : Result := CustomMessage('CompSpanish');
'PL', 'POLISH' : Result := CustomMessage('CompPolish');
'RU', 'RUSSIAN' : Result := CustomMessage('CompRussian');
'BR', 'BRAZILIAN' : Result := CustomMessage('CompPortugueseBrazil');
'MX', 'MEXICAN' : Result := CustomMessage('CompMexican');
'CZ', 'CZECH' : Result := CustomMessage('CompCzech');
'CL', 'COMPLAN' : Result := CustomMessage('CompLan');
'CB', 'COMPBONUS' : Result := CustomMessage('CompBonus');
'GC', 'COMPMAIN' : Result := CustomMessage('CompMain');
else
Result := StrName;
end;
end;
ComponentsSize := 0;
SetArrayLength(CompIndexList, 0);
IniFile := ExpandConstant('{tmp}\Settings.ini');
ComponentsPageAvai := GetIniBool('ComponentsSettings', 'Enable', False, IniFile);
if ComponentsPageAvai then
begin
if IniKeyExists('ComponentsSettings', 'Component' + IntToStr(I) + '.Name', IniFile) then
begin
CompName := 'cm:COMPMAIN';
ComponentsList.AddCheckBox(CompName, '', 0, True, False, True, True, nil);
end;

CustomMessages.iss
English.CompMain=Main files

also tried to type {cm:CompMain} for CompName, doesn't working

You have to add to function TranslateComponentName this line


'CM', 'COMPMAIN' : Result := CustomMessage('CompMain');


Or like you did:

'GC', 'COMPMAIN' : Result := CustomMessage('CompMain');


Then to settings.ini cm:CM or cm:GC OR cm:COMPMAIN as the name for the component, just remember to use capital letters after "cm:"

And of course like as You added to CustomMessages.iss
English.CompMain=Main files

As an advice, try to translate the components names to other languages if the installer is multilang, it will be helpful for others who will use it to unpack the game

HunterEmrah
30-03-2019, 12:15
You have to add to function TranslateComponentName this line

'CM', 'COMPMAIN' : Result := CustomMessage('CompMain');

already have

Then to settings.ini cm:CM OR cm:COMPMAIN as the name for the component
i have to say, "Main files" components doesn't associated with settings.ini, it's created in script.iss

//------------ GROUP 1 -------------------------------------
Component1.Name=cm:CompMain
Component1.Level=0
Component1.Exclusive=0
Component1.Checked=1
Component1.Enabled=0

Component2.Name=cm:CompLan
Component2.Level=0
Component2.Exclusive=0
Component2.Checked=1
Component2.Enabled=0

Component3.Name=cm:RU
Component3.File=lzl-selective-russian.bin
Component3.Size=688 mb
Component3.Level=1
Component3.Exclusive=1
Component3.Checked=1
Component3.Enabled=1

Component4.Name=cm:EN
Component4.File=lzl-selective-english.bin
Component4.Size=622 mb
Component4.Level=1
Component4.Exclusive=1
Component4.Checked=0
Component4.Enabled=1

//------------ GROUP 1 -------------------------------------

//------------ GROUP 2 -------------------------------------
Component5.Name=cm:CompBonus
Component5.Level=0
Component5.Checked=1
Component5.Enabled=1

Component6.Name=El Prez Edition Content
Component6.File=lzl-optional-bonus.bin
Component6.Size=0.474 GB
Component6.Level=1
Component6.Exclusive=0
Component6.Checked=1
Component6.Enabled=1

//------------ GROUP 2 -------------------------------------

anyway, i added Main files component in settings.ini, and now have screen like this (see the attachment)

As an advice, try to translate the components names to other languages if the installer is multilang, it will be helpful for others who will use it to unpack the game

that's what i am actually doing :)

Schabik
30-03-2019, 12:20
already have


i have to say, "Main files" components doesn't associated with settings.ini, it's created in script.iss

//------------ GROUP 1 -------------------------------------
Component1.Name=cm:CompMain
Component1.Level=0
Component1.Exclusive=0
Component1.Checked=1
Component1.Enabled=0

Component2.Name=cm:CompLan
Component2.Level=0
Component2.Exclusive=0
Component2.Checked=1
Component2.Enabled=0

Component3.Name=cm:RU
Component3.File=lzl-selective-russian.bin
Component3.Size=688 mb
Component3.Level=1
Component3.Exclusive=1
Component3.Checked=1
Component3.Enabled=1

Component4.Name=cm:EN
Component4.File=lzl-selective-english.bin
Component4.Size=622 mb
Component4.Level=1
Component4.Exclusive=1
Component4.Checked=0
Component4.Enabled=1

//------------ GROUP 1 -------------------------------------

//------------ GROUP 2 -------------------------------------
Component5.Name=cm:CompBonus
Component5.Level=0
Component5.Checked=1
Component5.Enabled=1

Component6.Name=El Prez Edition Content
Component6.File=lzl-optional-bonus.bin
Component6.Size=0.474 GB
Component6.Level=1
Component6.Exclusive=0
Component6.Checked=1
Component6.Enabled=1

//------------ GROUP 2 -------------------------------------

anyway, i added Main files component in settings.ini, and now have screen like this

I use original script from KaktoR and it works.

In settings.ini I had replaced only Component1.Name=Main Files with Component1.Name=cm:GAMEFILES and it worked fine. Try it with the not modified script and add the lines from previous posts

HunterEmrah
30-03-2019, 12:30
but i'm talking about "Main files" component, not "Game Components". Here is the screenshots from untouched script. "Main files" have static title which set in script.iss

Cesar82
30-03-2019, 12:54
but i'm talking about "Main files" component, not "Game Components". Here is the screenshots from untouched script. "Main files" have static title which set in script.iss

in the script by text with single quotation marks (Will find in two times):
'Main Files'

Replace with:
CustomMessage('MainFiles')

Add in [CustomMessages] inside the script
English.MainFiles=Main Files

The second option: 'Game Components', to change only if included in the function TranslateComponentName and same message in [CustomMessage], and use in setup.ini into key Component#.Name=cm:SameUsedMessage
In Setup.ini, you can remove component 1
The key: Component1.Name=Game Components
and rearranging the ID of the next components.

HunterEmrah
30-03-2019, 13:04
CustomMessage('MainFiles')
that's what i needed :) thank you Cesar82

HunterEmrah
30-03-2019, 15:04
how to automatically uncheck and disable the checkbox of optional/selective component if file doesn't exist. for eg:

i have only 1 language pack from 5, installer should check availability for all of components and automatically uncheck&disable which are missing

another question, maybe not last. how to integrate INIFile function which changes player name in steam_emu.ini after install, to Language changing? For eg:
During installation i will check English language and after install installer will change "Language=spanish" string to "Language=english" in steam_emu.ini.

In this way, it will be more useful for users if we automate the script. I really loved this script.

Cesar82
31-03-2019, 04:01
how to automatically uncheck and disable the checkbox of optional/selective component if file doesn't exist. for eg:

i have only 1 language pack from 5, installer should check availability for all of components and automatically uncheck&disable which are missing

another question, maybe not last. how to integrate INIFile function which changes player name in steam_emu.ini after install, to Language changing? For eg:
During installation i will check English language and after install installer will change "Language=spanish" string to "Language=english" in steam_emu.ini.

In this way, it will be more useful for users if we automate the script. I really loved this script.

For your first problem maybe this will work (If the installer has only one disk).
procedure CurPageChanged(CurPageID: integer);
var
I: Integer;
CompFile: String;
begin
//...
if CurPageID = wpWelcome then
begin
//....
#if UseComponents == "1"
if ComponentsPageAvai then
begin
for I := 0 to GetArrayLength(CompIndexList) - 1 do
begin
CompFile := GetIniString('ComponentsSettings', 'Component' + IntToStr(CompIndexList[I]) + '.File', '', ExpandConstant('{tmp}\Settings.ini'));
if (ExtractFileExt(CompFile) <> '') and (not FileExists(ExpandConstant('{src}\' + CompFile))) then
begin
ComponentsList.Checked[CompIndexList[I]] := False;
ComponentsList.ItemEnabled[CompIndexList[I]] := False;
end;
end;
end;
#endif
end;
//...
//...
end;

To how to integrate INIFile function, ask kaktor to enter the function for this.
Or you can add the code copying from the CIU v3 (Custom Installer Ultimate) script here in the forum (just over 100 lines of code).
To adapt the code you only need change languages of the code and also the GetValStr for the Settings.ini.

HunterEmrah
31-03-2019, 05:27
For your first problem maybe this will work (If the installer has only one disk).
procedure CurPageChanged(CurPageID: integer);
var
I: Integer;
CompFile: String;
begin
//...
if CurPageID = wpWelcome then
begin
//....
#if UseComponents == "1"
if ComponentsPageAvai then
begin
for I := 0 to GetArrayLength(CompIndexList) - 1 do
begin
CompFile := GetIniString('ComponentsSettings', 'Component' + IntToStr(CompIndexList[I]) + '.File', '', ExpandConstant('{tmp}\Settings.ini'));
if (ExtractFileExt(CompFile) <> '') and (not FileExists(ExpandConstant('{src}\' + CompFile))) then
begin
ComponentsList.Checked[CompIndexList[I]] := False;
ComponentsList.ItemEnabled[CompIndexList[I]] := False;
end;
end;
end;
#endif
end;
//...
//...
end;

Perfect code. I just copied it to where it should, and it works. :p thank you

KaktoR
31-03-2019, 05:45
I will add something for language in INI file.

HunterEmrah
31-03-2019, 07:14
I tried something but could not give the correct size to "Main files" component, on components page first time size is right, but after clicking components it's resets.

what i changed in script.iss
I := 1;
ComponentsSize := GetSizeBytes(GetIniString('Settings', 'Size', '0', IniFile));
SetArrayLength(CompIndexList, 0);
IniFile := ExpandConstant('{tmp}\Settings.ini');
ComponentsPageAvai := GetIniBool('ComponentsSettings', 'Enable', False, IniFile);
if ComponentsPageAvai then
begin
if IniKeyExists('ComponentsSettings', 'Component' + IntToStr(I) + '.Name', IniFile) then
begin
CompName := CustomMessage('CompMain'); //Main Files component
ComponentsList.AddCheckBox(CompName, '', 0, True, False, True, True, nil);
end;

Given size in Settings.ini
[Settings]
Name=Tropico 6
Size=12.4 gb

I've uploaded a video for a better understanding.
https://streamable.com/wsa4j

Cesar82
31-03-2019, 13:25
I tried something but could not give the correct size to "Main files" component, on components page first time size is right, but after clicking components it's resets.

what i changed in script.iss


Given size in Settings.ini


I've uploaded a video for a better understanding.
https://streamable.com/wsa4j
Try this:
Leave as before the part you changed:
ComponentsSize:=0;

1. Then replace the original line (Line commented with //) with the line below in this part.
procedure ComponentsOnCheck(Sender: TObject);
var
I: Integer;
begin
ComponentsSize := 0;
for I := 0 to GetArrayLength(CompIndexList) - 1 do
if ComponentsList.Checked[CompIndexList[I]] then
ComponentsSize := ComponentsSize + GetSizeBytes(GetIniString('ComponentsSettings', 'Component' + IntToStr(CompIndexList[I]) + '.Size', '0', ExpandConstant('{tmp}\Settings.ini')));
//ComponentsDiskSpaceLabel.Caption := DiskSpaceMB(SetupMessage(msgComponentsDiskSpaceMBL abel), SizeBytesToMB(ComponentsSize, '', 0));
ComponentsDiskSpaceLabel.Caption := DiskSpaceMB(SetupMessage(msgComponentsDiskSpaceMBL abel), SizeBytesToMB(ComponentsSize + GetSizeBytes(GetIniString('Settings', 'Size', '0', ExpandConstant('{tmp}\Settings.ini'))), '', 0));
end;

2/3. Then substitute the original line (Line commented with "//") by the line below (Required to replace 2 times in the script)

//ComponentsDiskSpaceLabel.Caption := DiskSpaceMB(SetupMessage(msgComponentsDiskSpaceMBL abel), SizeBytesToMB(ComponentsSize, '', 0));
ComponentsDiskSpaceLabel.Caption := DiskSpaceMB(SetupMessage(msgComponentsDiskSpaceMBL abel), SizeBytesToMB(ComponentsSize + GetSizeBytes(GetIniString('Settings', 'Size', '0', ExpandConstant('{tmp}\Settings.ini'))), '', 0));

KaktoR
01-04-2019, 04:26
v7.1.3 Beta 1
__________________________________________________ ___
- Reworked Redist page
- Active language will be added to INIFile now
- Added file checks for components (thanks to Cesar82)

HunterEmrah
01-04-2019, 08:24
Active language will be added to INIFile now

Thank you for update, works well.

I think remaining time should fixed too. It's calculate time only for first archive. After unpacking first archive it shows "TIME_INFINITE"="Eternity" then "TIME_TEST"=""

KaktoR
01-04-2019, 08:28
That's what I wrote somewhere on last pages. Time remaining only works with 1 archive. But it's corious that it is visible (it should not be visible if [Records2] exist in Records.ini).

HunterEmrah
01-04-2019, 09:29
Time remaining only works with 1 archive
okay then i will hide this lable.

Active language will be added to INIFile now
I want to add something to this topic. Changing language like "English", "Russian" with steam games is ok, but not uplay and origin games. Because there should be "en-US", "ru-RU". I think this system needs a different solution. More advanced.

KaktoR
01-04-2019, 10:09
I know and I don't know if it's even possible. I think this is too complex.

Titeuf
03-04-2019, 02:14
Hello everyone,
I do not know if I make a mistake but in version 7.1.2 after installation in the directory of the game, there are these 2 files:
Glossy.vsf & VclStylesInno.dll

While in previous versions, there were no such files!

How to make these 2 files not in the directory of the game once the installation finished?

thank you in advance

KaktoR
03-04-2019, 02:34
Here is a fix for the Time Remaining label if more than one archive is extracted.

@Tifeuf: This files are neccessary for uninstall skin support.

Titeuf
03-04-2019, 02:47
Here is a fix for the Time Remaining label if more than one archive is extracted.

@Tifeuf: This files are neccessary for uninstall skin support.

Hello KaktoR,
Thank you for your answer actually if these 2 files are deleted, executing uninstall, it displays an error.
Thank you for your answer and your fixed!
Warmest regards

Titeuf
03-04-2019, 02:58
KaktoR,
I just noticed something, if in the file setings.ini, I put this: "UnInstallFolder = _UnInstall" when I start the uninstallation it removes all the files but not the "main" directory of the game!
example: name of the main directory "Mygamehasme", all the files contained in it are delete but not the directory "Mygamehasme"
I hope you understand (Lol) sorry for my mediocre English
Thank you

KaktoR
03-04-2019, 03:10
This happens if you open the _Uninstall folder in explorer.
If you go to the game folder (not the uninstall folder) the folder will be deleted.

I will look why this happens.

Titeuf
03-04-2019, 03:13
This happens if you open the _Uninstall folder in explorer.
If you go to the game folder (not the uninstall folder) the folder will be deleted.

I will look why this happens.

KaktoR,
Ok thank you for your information and in advance thank you for watching this.
Warmest regards

yasitha
12-04-2019, 06:38
Bug Found in System Page

6GB GPUs Detect as 4GB
Maybe 8GB and 11GB cards detect as the same..
I don't have any 8GB or 11GB Cards,
if you guys have those cards,
check and report back.

also old ATI Cards detect as 0mb in Red color
It's like there's no GPU

KaktoR
12-04-2019, 09:08
This is a bug in ISSysInfo library. Nothing I can do about it.

mausschieber
12-05-2019, 10:17
ScriptVersion "7.1.3

Source: Resources\Decompressors\ISDone\French.ini
Source: Resources\Decompressors\ISDone\German.ini
Source: Resources\Decompressors\ISDone\Italian.ini
Source: Resources\Decompressors\ISDone\Spanish.ini
Source: Resources\Decompressors\ISDone\Polish.ini;
Source: Resources\Decompressors\ISDone\PortugueseBrazil.in i

not found the inis inst there

KaktoR
12-05-2019, 10:45
Fixed.

Titeuf
21-08-2019, 08:51
Hello KaktoR,
I give you this message about a problem, message here =>https://fileforums.com/showpost.php?p=482218&postcount=1430

Would it be possible as on CIU to add the function "Create New CIU Project.bat" which is fine!
Thank you in advance for your answers,
cordially

KaktoR
25-08-2019, 11:03
Yes it's possible. I will look at the issues next weekend.

Titeuf
25-08-2019, 12:15
Yes it's possible. I will look at the issues next weekend.

Hello KaktoR,
Ok in advance thank you

Titeuf
11-09-2019, 03:34
Hello KaktoR,
Have you had time to look at the problems, please?
In advance thank you for your response.
cordially

KaktoR
14-09-2019, 01:27
Yes but I don't know what's the problem.

Titeuf
18-09-2019, 00:57
Yes but I don't know what's the problem.

Hello KaktoR,
Excuse me for my late response, so the first thing is a request for ASIS:
"Would it be possible, as in the CIU, to add the function" Create a new CIU .bat project "which is fine!"

for the problem it's every time I use a compression method of the forum "Best Compression Methods for 'Specific' Games.Q & A" I have decompression errors, the last example here => https://fileforums.com/showpost.php?p=482205&postcount=1428
and your answer here => https://fileforums.com/showpost.php?p=482213&postcount=1429https://fileforums.com/showpost.php?p=482213&postcount=1429

in advance thank you for your answers,
Best regards

wangfeilong0317
01-10-2019, 03:35
Hello, I translated Simplified Chinese, but it does not display properly.

mausschieber
13-10-2019, 15:34
Hi Bro

i have error when i use asis 7.1.3 with Inno setup 6.0.2

see picture
https://abload.de/thumb/errorw4jz9.png (https://abload.de/image.php?img=errorw4jz9.png)

Cesar82
13-10-2019, 21:22
@mausschieber
This "CenterInsideControl" function no longer exists in Inno Setup 6...

A possible almost similar solution is:
Delete line in color red and insert this parts in blue color.

procedure AboutFormOnShow(Sender: TObject);
begin
TSetupForm(Sender as TSetupForm).Left := WizardForm.Left + (( WizardForm.ClientWidth - TSetupForm(Sender as TSetupForm).ClientWidth) div 2);
TSetupForm(Sender as TSetupForm).Top := WizardForm.Top + ((WizardForm.ClientHeight - TSetupForm(Sender as TSetupForm).ClientHeight) div 2);
end;

procedure AboutButtonClick(Sender: TObject);
var
AboutForm: TSetupForm;
AboutOKButton: TNewButton;
AboutLabel: TNewStaticText;
LogoImage: TBitmapImage;
begin
AboutForm := CreateCustomForm
try
AboutForm.ClientWidth := ScaleX(380);
AboutForm.ClientHeight := ScaleY(280);
AboutForm.Caption := SetupMessage(msgAboutSetupMenuItem);
AboutForm.OnShow := @AboutFormOnShow;
//AboutForm.CenterInsideControl(WizardForm, False);

Titeuf
15-10-2019, 06:44
Hello everyone,
for some games, there are several *.ini files with the name of the player in different directories of the game, how and with what piece of code (for version 7.1.3)
I can do so that the name of the chosen player before the installation starts to change on all *.ini files?
In advance thank you for your answers,
cordially

Titeuf
21-10-2019, 08:03
Hi,
Up please.
Thank

KaktoR
23-10-2019, 11:42
Search

SetIniString('{#Section}', '{#Key}', WizardForm.UserInfoNameEdit.Text, ExpandConstant('{#INIFile}'));

After this add and change the ini file location manualy inside the script ('{app}\steam_emu.ini')

SetIniString('{#Section}', '{#Key}', WizardForm.UserInfoNameEdit.Text, ExpandConstant('{app}\steam_emu.ini'));

Maybe you have to change {#Section} and {#Key} too if the section/key is different in two ini files. If the sections and names are the same then just leave it like it is and only change the {#INIFile} for ini file #2, 3, 4, ...

Titeuf
24-10-2019, 08:36
Search

SetIniString('{#Section}', '{#Key}', WizardForm.UserInfoNameEdit.Text, ExpandConstant('{#INIFile}'));

After this add and change the ini file location manualy inside the script ('{app}\steam_emu.ini')

SetIniString('{#Section}', '{#Key}', WizardForm.UserInfoNameEdit.Text, ExpandConstant('{app}\steam_emu.ini'));

Maybe you have to change {#Section} and {#Key} too if the section/key is different in two ini files. If the sections and names are the same then just leave it like it is and only change the {#INIFile} for ini file #2, 3, 4, ...

Hello KaktoR,
it works perfectly after a first test, thank you!
Can you answer me for this: https://fileforums.com/showpost.php?p=482643&postcount=726
Thanks in advance,
cordially

KaktoR
24-10-2019, 10:47
Like I said earlier, I don't know what the problem is exactly.

I had a similar problem before with the game Frostpunk, where the install process just doesn't go further (no error message, stuck on like 49.4%, the archive just didn't unpack further at some point, while with CIU it works just fine).

I can't even tell you where the problem is exactly inside the code, because it won't happen on every data.

And I don't work on this anymore anyway. Maybe you noticed that I'm not much online since a few weeks, because I don't have the time for stuff like this at the moment.

artexjay
13-11-2019, 12:17
How did you manage to get the the setup to check for system requirements? I can't seem to figure that out.

An excerpt of your code with a small explanation on what some of the code does would be great

Thanks

mausschieber
13-11-2019, 17:01
How did you manage to get the the setup to check for system requirements? I can't seem to figure that out.

An excerpt of your code with a small explanation on what some of the code does would be great

Thanks

take a look in setup.ini and you find it example here

[SystemRequirement]
// Win7 = 611, Win8 = 621, Win8.1 = 631, Win10 = 1000
Enable=1
Processor=3200
VideoRAM=4000
RAM=8000
OS=611
DirectX=11
HWSectionLabelColor=$808080
HWOkLabelColor=$357EC7
HWNotOkLabelColor=$ff0000
HWGoodLabelColor=$36ff00
HWPartiallyGoodLabelColor=$ff8400
HWNotGoodLabelColor=$ff0000

artexjay
14-11-2019, 12:27
Do i need a type of setup.ini to have it work or do you mean that the code in the setup.ini is enough to add into the inno script to get it to check for the requirements?

KaktoR
14-11-2019, 13:08
In script.iss search for
procedure SystemReq();

I used functions from ISSysInfo.dll (https://fileforums.com/showthread.php?t=99835) from peterf1999.

I can't explain all of this to you.

Some example from the code
if (GetCpuMaxClockSpeed) < Processor then begin
CPUNameLabel.Font.Color := ColorConverter(GetValInt('SystemRequirement', 'HWNotOkLabelColor', 0));
CPUNameLabel.Caption := 'CPU: '+IntToStr(GetCpuMaxClockSpeed)+' MHz,' + (ExpandConstant(' {cm:DirectXNeeded} ')) + '{#Processor}'+' MHz';
end;

GetCpuMaxClockSpeed
Get max clock speed of your CPU. You find it by default in ISSysInfo.iss

Processor variable takes info from {#Processor} ISPP (which you can find in Settings.iss, which reads input directly from Settings.ini).
So if detected CPU max clock speed is lower (<) then Settings.ini input, label (HWNotOkLabelColor) is in red color (default). In fact you can change the color of HWNotOkLabelColor label in Settings.ini (this is also a ISPP). The ColorConverter only change color codes from BGR (Blue, Green, Red) to RGB (Red, Green, Blue). Inno's standard is BGR, which I find not really good.

CPUNameLabel.Caption is just the label for CPU.

'CPU: '+IntToStr(GetCpuMaxClockSpeed)+' MHz,'
However you have to convert the CPU MHZ number from integer to string (IntToStr) to display MHZ correctly.

(ExpandConstant(' {cm:DirectXNeeded} '))
Don't get confused here. This is just a custom message for the word "Required", but I was too lazy to change it to something more accurate lol.

'{#Processor}'+' MHz'
Display your input in Settings.ini for Processor= and add MHz after this.


Most of the other parts from the 'procedure SystemReq' are just variables or text/labels/fancy stuff which is not really needed but it looks better ;)
---

I always tried to made the scripts as clear as possible to give a fast overview, eventough everybody works a bit different and has a bit different characteristics.

artexjay
16-11-2019, 14:21
Alright thanks for the insightful reply!

I've downloaded the .dll and will be trying to see if i can get it to work for me. Hope you don't mind if I pm you or reply later for help if I'm having some issues with it

Thanks again.

Entai44
02-12-2019, 09:48
Could you add the second progress bar for file percentage? Like fitgirl 2016 do?

I edit the asis installer decompressor and add many compressors to UltraARC 2900 R6 FULL and some app

link: https://drive.google.com/open?id=1N8DujtRc6sUsPRwVJz3_u1SXMxuPZWJp (232 MB rar file)

Masquerade
04-02-2020, 09:57
I'm experiencing a crash of the installer when trying to decompress an archive packed with only oggre.

OGGRE is enabled inside Compressor.ini.

Whenever the installer runs, it instantly crashes (and closes) after pressing "Install" with no error message.

Extra Info:


ASIS 7.1.3 in compact mode
OGGRE_enc.exe v.0.1.1 used for compression
Pack Command used in arc.ini:
[External compressor:oggre]
header = 0
packcmd = OGGRE\OGGRE_enc.exe $$arcdatafile$$.tmp $$arcpackedfile$$.tmp


I don't get it, I tried throwing 12 random ogg files into my compressor, and the installer decompressed them fine, I don't see why a 750-800mb archive should be any different...

Any help is appreciated.

I will update this mesage if I fix the issue.

Entai44
11-02-2020, 08:24
I'm experiencing a crash of the installer when trying to decompress an archive packed with only oggre.

OGGRE is enabled inside Compressor.ini.

Whenever the installer runs, it instantly crashes (and closes) after pressing "Install" with no error message.

Extra Info:


ASIS 7.1.3 in compact mode
OGGRE_enc.exe v.0.1.1 used for compression
Pack Command used in arc.ini:
[External compressor:oggre]
header = 0
packcmd = OGGRE\OGGRE_enc.exe $$arcdatafile$$.tmp $$arcpackedfile$$.tmp


I don't get it, I tried throwing 12 random ogg files into my compressor, and the installer decompressed them fine, I don't see why a 750-800mb archive should be any different...

Any help is appreciated.

I will update this mesage if I fix the issue.

Try UltraArc to compress, edit FA.ini for the 'Pack Command'

FreshMen
21-02-2020, 03:38
Hello guys i am new in Inno Setup and i saw this i loved this, but i don't know how to install.

KaktoR
21-02-2020, 07:02
v7.1.4 added

v7.1.4
__________________________________________________ ___
- Updated some compressors
- Fixed Redist CB if Compactmode and Components is used
- Added translations for 'Click to select components...' message in compact mode

darkyamidesu
21-02-2020, 13:50
hello, love this program.. (already make A'Lot of compression games)
if anyone can help me, can someone tell me or show me how to make
1. 2 shortcut (lets say PES game. i want to make "Game.exe" and "Settings.exe" shortcut) possible
2. can i assign .cmd or .bat file with some icon (so after i install the game/program. CMD/Bat file will have their own independent icon. rather than stock windows icon)

any reply is really appriciated..

Thanks for reading and maybe helping my request..
(sorry for my bad english. english isnt my mother/first language)

Love from indonesia..

^_^

*edit
Small more demand..
how can i change OS section to support/Showing "windows XP" - or - "XP"..
(change the number to XP, resulting any OS to showing red/unsupported)

KaktoR
26-02-2020, 08:03
v7.1.4a
__________________________________________________ ___
- Fixed installation size in CompactMode if components were used and all components were unchecked (Checked=0)

KaktoR
26-02-2020, 08:09
hello, love this program.. (already make A'Lot of compression games)
if anyone can help me, can someone tell me or show me how to make
1. 2 shortcut (lets say PES game. i want to make "Game.exe" and "Settings.exe" shortcut) possible
2. can i assign .cmd or .bat file with some icon (so after i install the game/program. CMD/Bat file will have their own independent icon. rather than stock windows icon)

any reply is really appriciated..

Thanks for reading and maybe helping my request..
(sorry for my bad english. english isnt my mother/first language)

Love from indonesia..

^_^

*edit
Small more demand..
how can i change OS section to support/Showing "windows XP" - or - "XP"..
(change the number to XP, resulting any OS to showing red/unsupported)

1.
Not by default. You have to do this manually.

Go to
Resources\Modules\External\Icons.iss
and add a second shortcut there.

Maybe I will add something in future.


2.
In same file as above.

You have to use
IconFilename: "{app}\Icon.ico"

Not sure if it works tough.


-----

Windows XP is 513 (with ServicePack #3).

darkyamidesu
28-02-2020, 20:01
1.
Not by default. You have to do this manually.

Go to
Resources\Modules\External\Icons.iss
and add a second shortcut there.

Maybe I will add something in future.


2.
In same file as above.

You have to use
IconFilename: "{app}\Icon.ico"

Not sure if it works tough.


-----

Windows XP is 513 (with ServicePack #3).


thankyou for your generous and reply sir!
ill try at home..
(Busy in campus ATM)
:)

bubobih
01-03-2020, 08:34
Hello im trying to compile a game with lolz and i do it like 6 times x 6 hours compression :P but when im installing i always get this error

https://i.imgur.com/qBChxZ9.png


Maybe someone know where i get wrong?

Masquerade
12-03-2020, 13:11
2. can i assign .cmd or .bat file with some icon (so after i install the game/program. CMD/Bat file will have their own independent icon. rather than stock windows icon)


Maybe I'm a little late, but you can use this program (https://letsupload.co/2Rsdy/Advanced_BAT_to_EXE_Converter_v4.11.7z) to covert your batch files to an EXE format, where then you can add an icon using the program or Resource Hacker.

Please note that in an EXE format, your batch files cannot be read/edited, so make sure everything works before you choose to share it with others.