FileForums

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

KaktoR 18-04-2021 04:13

Setup.dll must be in the same folder where Setup.exe is

Cesar82 18-04-2021 05:17

Quote:

Originally Posted by L33THAK0R (Post 491397)
I understand all this but what I mean is where physically should "setup.dll" be present when making the .exe with ASIS, or is it not included inside of the .exe generated by ASIS?

I had already answered before...
Setup.dll must be next to Setup.exe (Same folder) when starting the decompression using ASIS.

Complementing the answer, for those who did not understand:
Setup.dll is not needed before build Setup.exe.
ASIS will check if there is a file with the same name as the executable, but with a .dll extension and will extract it using UnArc.dll/IsDone.dll.
Only these 2 libraries are included in ASIS and are required prior to build Setup.exe.
Nothing else is needed inside Setup.exe during the build of Setup.exe.

L33THAK0R 18-04-2021 16:39

Quote:

Originally Posted by Cesar82 (Post 491400)
I had already answered before...
Setup.dll must be next to Setup.exe (Same folder) when starting the decompression using ASIS.

Complementing the answer, for those who did not understand:
Setup.dll is not needed before build Setup.exe.
ASIS will check if there is a file with the same name as the executable, but with a .dll extension and will extract it using UnArc.dll/IsDone.dll.
Only these 2 libraries are included in ASIS and are required prior to build Setup.exe.
Nothing else is needed inside Setup.exe during the build of Setup.exe.

Ah alright, sorry was just hoping that'd it'd be possible to put the needed resources inside of the ASIS generated .exe, as was possible with v7.2.0.0, guess I won't be using v7.2.2.0+ lol

Cesar82 19-04-2021 04:01

Quote:

Originally Posted by L33THAK0R (Post 491410)
Ah alright, sorry was just hoping that'd it'd be possible to put the needed resources inside of the ASIS generated .exe, as was possible with v7.2.0.0, guess I won't be using v7.2.2.0+ lol

If version 7.2.0.0 is working well for you, great ...
Older versions may contain a bug that may have been fixed in the newer version.

If you want you can include the Setup.dll file internally from Setup.exe just by adding 4 lines to the script (red lines below). But you must first create Setup.dll and include it with scritp.iss before compiling Setup.exe. To do this, change it in the script:
In the [Files] section add.
Code:

[Files]
....
///////////////////////////////////////////////////////////////////////////////////////////
//////////////// FreeArc/ISDone Files /////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

Source: "{#SetupSetting("OutputBaseFilename")}.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy nocompression

Source: "Resources\Includes\UnArc.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy
Source: "Resources\Includes\ISDone.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy

In the [Code] section, locate for "procedure UltraARC_Process;" and add the line:
Code:

procedure UltraARC_Process;
var
  Data: Array of TData;
  I, MsgResult: Integer;
  SourceDir, DataFile: String;
  #if UseComponents == "1"
  ComponentFile: String;
  #endif
  SysInfo: TSystemInfo;
  Threads: Integer;
begin
  ExtractTemporaryFile('{#SetupSetting("OutputBaseFilename")}.dll');
  if CompareText('{#SetupSetting("OutputBaseFilename")}.dll', ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))) <> 0 then
    FileCopy(ExpandConstant('{tmp}\{#SetupSetting("OutputBaseFilename")}.dll'), ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')), False);

  //BEGIN - DISK SPAN GUI CHANGES
  I := 1;
  ISDoneError := False;
  ExtractTemporaryFile('UnArc.dll');


L33THAK0R 19-04-2021 06:23

Quote:

Originally Posted by Cesar82 (Post 491420)
If version 7.2.0.0 is working well for you, great ...
Older versions may contain a bug that may have been fixed in the newer version.

If you want you can include the Setup.dll file internally from Setup.exe just by adding 4 lines to the script (red lines below). But you must first create Setup.dll and include it with scritp.iss before compiling Setup.exe. To do this, change it in the script:
In the [Files] section add.
Code:

[Files]
....
///////////////////////////////////////////////////////////////////////////////////////////
//////////////// FreeArc/ISDone Files /////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

Source: "{#SetupSetting("OutputBaseFilename")}.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy nocompression

Source: "Resources\Includes\UnArc.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy
Source: "Resources\Includes\ISDone.dll"; DestDir: "COMPRESSORS"; Flags: dontcopy

In the [Code] section, locate for "procedure UltraARC_Process;" and add the line:
Code:

procedure UltraARC_Process;
var
  Data: Array of TData;
  I, MsgResult: Integer;
  SourceDir, DataFile: String;
  #if UseComponents == "1"
  ComponentFile: String;
  #endif
  SysInfo: TSystemInfo;
  Threads: Integer;
begin
  ExtractTemporaryFile('{#SetupSetting("OutputBaseFilename")}.dll');
  if CompareText('{#SetupSetting("OutputBaseFilename")}.dll', ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))) <> 0 then
    FileCopy(ExpandConstant('{tmp}\{#SetupSetting("OutputBaseFilename")}.dll'), ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')), False);

  //BEGIN - DISK SPAN GUI CHANGES
  I := 1;
  ISDoneError := False;
  ExtractTemporaryFile('UnArc.dll');



Thank you for being so patient with me man, really appreciate this, I wish I was more competent with python or whatever the script is written in, so that I could save you the trouble of doing this, thanks once again man, you're a hero!

Cesar82 19-04-2021 08:54

Quote:

Originally Posted by L33THAK0R (Post 491422)
Thank you for being so patient with me man, really appreciate this, I wish I was more competent with python or whatever the script is written in, so that I could save you the trouble of doing this, thanks once again man, you're a hero!

The programming is paschal with preprogrammed functions as in delphi (based on delphi).
I had to change the location of the Setup.dll file (After these changes above it will be in the temporary folder).
It is also necessary to change just below by replacing in 3 lines.
Code:

ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')
Replace with:
Code:

ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))
After the changes it will look like this;
Code:

  //....
  if FileExists(ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))) then
  begin
    if ISDoneInit(ExpandConstant('{tmp}\Records.inf'), $F777, 0,0,0, MainForm.Handle, 0, @UnpackDLLCallback) then
    begin
      if not ISArcExtract(0, 0, ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')), ExpandConstant('{tmp}'), '', False, '', ExpandConstant('{tmp}\Arc.ini'), ExpandConstant('{tmp}'), False) then
      begin
        ISDoneError := True;
        SysErrorMessage(DLLGetLastError);
      end;
      ISDoneStop;
      UnloadDLL(ExpandConstant('{tmp}\ISDone.dll'));
    end;
    //...

Good luck!

L33THAK0R 19-04-2021 21:47

Quote:

Originally Posted by Cesar82 (Post 491424)
The programming is paschal with preprogrammed functions as in delphi (based on delphi).
I had to change the location of the Setup.dll file (After these changes above it will be in the temporary folder).
It is also necessary to change just below by replacing in 3 lines.
Code:

ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')
Replace with:
Code:

ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))
After the changes it will look like this;
Code:

  //....
  if FileExists(ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll'))) then
  begin
    if ISDoneInit(ExpandConstant('{tmp}\Records.inf'), $F777, 0,0,0, MainForm.Handle, 0, @UnpackDLLCallback) then
    begin
      if not ISArcExtract(0, 0, ExpandConstant('{tmp}\') + ExtractFileName(ChangeFileExt(ExpandConstant('{srcexe}'), '.dll')), ExpandConstant('{tmp}'), '', False, '', ExpandConstant('{tmp}\Arc.ini'), ExpandConstant('{tmp}'), False) then
      begin
        ISDoneError := True;
        SysErrorMessage(DLLGetLastError);
      end;
      ISDoneStop;
      UnloadDLL(ExpandConstant('{tmp}\ISDone.dll'));
    end;
    //...

Good luck!


Thanks man, really appreciate everything you've done!

pratikpatel8982 27-04-2021 09:11

Download link to ASIS
 
Can someone plz give link to latest ASIS version? I did not find it in the OP.

KaktoR 27-04-2021 09:21

https://fileforums.com/showpost.php?...&postcount=944

L33THAK0R 27-04-2021 21:16

Is it possible for the CRC checking utility in ASIS compact mode to list "bad", "ok" and files not present, or would this require a code rewrite?

pratikpatel8982 28-04-2021 21:33

Will it work with diskspan_gui 1.0.0.4 if I delete the contents inside diskspan_gui folder and extract the contents of compressor folder inside it.
EDIT: NVM, I'll test myself.

KaktoR 29-04-2021 07:16

Quote:

Originally Posted by pratikpatel8982 (Post 491627)
Will it work with diskspan_gui 1.0.0.4 if I delete the contents inside diskspan_gui folder and extract the contents of compressor folder inside it.
EDIT: NVM, I'll test myself.

Yes it works.

KaktoR 29-04-2021 07:16

Quote:

Originally Posted by L33THAK0R (Post 491605)
Is it possible for the CRC checking utility in ASIS compact mode to list "bad", "ok" and files not present, or would this require a code rewrite?

Code changes are needed.

L33THAK0R 29-04-2021 08:50

Quote:

Originally Posted by KaktoR (Post 491637)
Code changes are needed.

Drat! Had a feeling that would be the case.

alucard1973 30-04-2021 06:27

Hello,
I have a problem, here, as shown in the image, when I select the file that I want to install, it does not give me the number of MB or GB it uses for French Langage, there are 4 games in total but just put 1 with different language to test.
Likewise, with CIU there is the Task, but not on ASIS 7.2.2a, is it possible to put it manually?
I also want to know what is Component1.Level=0
Thank you

https://nsm09.casimages.com/img/2021...5917395259.png

mausschieber 30-04-2021 08:48

Quote:

Originally Posted by alucard1973 (Post 491685)
I also want to know what is Component1.Level=0
Thank you

read the Help file that should help you

alucard1973 30-04-2021 12:01

How do I put comp in the records.ini file?
I tried everything and it doesn't work for me when I want to install the game

[Record1]
Type=Freearc_Original
Source={src}\Setup1FR.cab
Output={app}\SteamApps\common\Commandos Behind Enemy Lines\
Disk=1
Comp=2

[Record2]
Type=FreeArc_Original
Source={src}\Setup1.cab
Output={app}\SteamApps\common\Commandos Behind Enemy Lines\
Disk=1
Comp=3

[Record3]
Type=Freearc_Original
Source={src}\Setup2FR.cab
Output={app}\SteamApps\common\Commandos Beyond the Call of Duty\
Disk=1
Comp=5

[Record4]
Type=FreeArc_Original
Source={src}\Setup2.cab
Output={app}\SteamApps\common\Commandos Beyond the Call of Duty\
Disk=1
Comp=6

[Record5]
Type=Freearc_Original
Source={src}\Setup3FR.cab
Output={app}\SteamApps\common\Commandos 2 Men of Courage\
Disk=1
Comp=8

[Record6]
Type=FreeArc_Original
Source={src}\Setup3.cab
Output={app}\SteamApps\common\Commandos 2 Men of Courage\
Disk=1
Comp=9

[Record7]
Type=Freearc_Original
Source={src}\Setup4FR.cab
Output={app}\SteamApps\common\Commandos 3 Destination Berlin\
Disk=1
Comp=11

[Record8]
Type=FreeArc_Original
Source={src}\Setup4.cab
Output={app}\SteamApps\common\Commandos 3 Destination Berlin\
Disk=1
Comp=12

it is in relation to this, to have the choice of which game I want to install

[ComponentsSettings]
Enable=1
FlatPageMode=0
ShowComponentSize=1

Component1.Name=Commandos Behind Enemy Lines
Component1.Level=0
Component1.Exclusive=0
Component1.Checked=1
Component1.Enabled=1

Component2.Name=French
Component2.File=Setup1FR.cab
Component2.Size=930
Component2.Level=1
Component2.Exclusive=1
Component2.Checked=0
Component2.Enabled=1

Component3.Name=English
Component3.File=Setup1.cab
Component3.Size=930
Component3.Level=1
Component3.Exclusive=1
Component3.Checked=0
Component3.Enabled=1

Component4.Name=Commandos Beyond the Call of Duty
Component4.Level=0
Component4.Exclusive=0
Component4.Checked=1
Component4.Enabled=1

Component5.Name=French
Component5.File=Setup2FR.cab
Component5.Size=660 MB
Component5.Level=1
Component5.Exclusive=1
Component5.Checked=0
Component5.Enabled=1

Component6.Name=English
Component6.File=Setup2.cab
Component6.Size=660 MB
Component6.Level=1
Component6.Exclusive=1
Component6.Checked=0
Component6.Enabled=1

Component7.Name=Commandos 2 Men of Courage
Component7.Level=0
Component7.Exclusive=0
Component7.Checked=1
Component7.Enabled=1

Component8.Name=French
Component8.File=Setup3FR.cab
Component8.Size=3.82 GB
Component8.Level=1
Component8.Exclusive=1
Component8.Checked=0
Component8.Enabled=1

Component9.Name=English
Component9.File=Setup3.cab
Component9.Size=3.82 GB
Component9.Level=1
Component9.Exclusive=1
Component9.Checked=0
Component9.Enabled=1

Component10.Name=Commandos 3 Destination Berlin
Component10.Level=0
Component10.Exclusive=0
Component10.Checked=1
Component10.Enabled=1

Component11.Name=French
Component11.File=Setup4FR.cab
Component11.Size=3.76 GB
Component11.Level=1
Component11.Exclusive=1
Component11.Checked=0
Component11.Enabled=1

Component12.Name=English
Component12.File=Setup4.cab
Component12.Size=3.76 GB
Component12.Level=1
Component12.Exclusive=1
Component12.Checked=0
Component12.Enabled=1

L33THAK0R 30-04-2021 21:17

Quote:

Originally Posted by alucard1973 (Post 491690)
How do I put comp in the records.ini file?
I tried everything and it doesn't work for me when I want to install the game

I'm in no way qualified to say anything on this but I'm fairly sure you don't need to put component files in records.ini

pratikpatel8982 30-04-2021 21:25

Quote:

Originally Posted by L33THAK0R (Post 491695)
I'm in no way qualified to say anything on this but I'm fairly sure you don't need to put component files in records.ini

Component settings should be in settings.ini file.
There is also a helpfile for settings.ini.

pratikpatel8982 01-05-2021 00:27

Multiple Music Files Support in ASIS??
 
I wanted to ask if I can add multiple music files like background images. For example:
Code:

For background images in settings.ini
[Background]
//---------------Setup\Background\#.jpg
Enable=1
InstallBGDuration=5000
InstallBGAnimation=1
BGAfterInstall=1

Similarly for music:
[Music]
Enable=1
MusicFile=Setup\Music\Track#.mp3
OR ALTERNATIVELY,
MusicFile=Setup\Music\*.mp3 [To Load all mp3 files]

MusicVolume=10

So if I can use Setup\Music\Track#.mp3 and then in the "Music" folder, place files with name:
Code:

Track1.mp3
Track2.mp3
Track3.mp3
Track4.mp3
Track5.mp3
Track6.mp3
...

Does this require code change??
And one more thing, does it loop music like FG Repacks?
If it's not possible, then I will merge all the tracks into a single music file.

alucard1973 01-05-2021 03:58

Quote:

Originally Posted by pratikpatel8982 (Post 491696)
Component settings should be in settings.ini file.
There is also a helpfile for settings.ini.

I know that there is the task= but as it is not in the Setting.ini, I had to adapt myself with the Component1 etc ... but I look at the help file, there is nothing on

pratikpatel8982 01-05-2021 08:24

Quote:

Originally Posted by alucard1973 (Post 491705)
I know that there is the task= but as it is not in the Setting.ini, I had to adapt myself with the Component1 etc ... but I look at the help file, there is nothing on

You have to add the whole component thing in settings.ini to be able to choose which component to install. Just copy everything starting from [Component] and paste it at the end of settings.ini
Also you forgot to add this line for each component:
Code:

Component#.File=(The archive linked for the component)
For example:
Component1.File=Component1.arc

You have to add it for each component to make it work properly.

alucard1973 01-05-2021 09:42

Quote:

Originally Posted by pratikpatel8982 (Post 491708)
You have to add the whole component thing in settings.ini to be able to choose which component to install. Just copy everything starting from [Component] and paste it at the end of settings.ini
Also you forgot to add this line for each component:
Code:

Component#.File=(The archive linked for the component)
For example:
Component1.File=Component1.arc

You have to add it for each component to make it work properly.

yes, I removed it because the setup I want to choose for installation is in components2.file and components3.file
the concern is that in the record, I do how, I understood correctly that you tell me to do nothing, but unfortunately, it installs me everything every time and I would like to choose in the pack, the game and the language of the game that I want to install, for example, commando beyond line and commando 2 without installing the others

I don't know if I'm explaining myself well
what I want to do, is therefore if I choose to install commandos 2, is that it installs me this version as well as this file

[Record5]
Type=Freearc_Original
Source={src}\Setup3FR.cab
Output={app}\SteamApps\common\Commandos 2 Men of Courage\
Disk=1

[Record13]
Type=Freearc_Original
Source={src}\Setup3STEAM.cab
Output={app}\SteamApps\

I would test more or less what you tell me because they don't laugh to put in the record.ini as in CIU which was for me Task = 2 for example, I doubt that it works for me, but I have nothing more to lose :)

another thing, to uninstall a backup, is there a line to put in setting.ini?

Cesar82 01-05-2021 10:28

Quote:

Originally Posted by alucard1973 (Post 491715)
yes, I removed it because the setup I want to choose for installation is in components2.file and components3.file
the concern is that in the record, I do how, I understood correctly that you tell me to do nothing, but unfortunately, it installs me everything every time and I would like to choose in the pack, the game and the language of the game that I want to install, for example, commando beyond line and commando 2 without installing the others

I don't know if I'm explaining myself well
what I want to do, is therefore if I choose to install commandos 2, is that it installs me this version as well as this file

[Record5]
Type=Freearc_Original
Source={src}\Setup3FR.cab
Output={app}\SteamApps\common\Commandos 2 Men of Courage\
Disk=1

[Record13]
Type=Freearc_Original
Source={src}\Setup3STEAM.cab
Output={app}\SteamApps\

I would test more or less what you tell me because they don't laugh to put in the record.ini as in CIU which was for me Task = 2 for example, I doubt that it works for me, but I have nothing more to lose :)

another thing, to uninstall a backup, is there a line to put in setting.ini?

I don't know if the ASIS 7.2.2 I have here is the latest version, but from what I found in the code it doesn't have any reading of key Component= or Comp= in records.ini

The installation is done normally from the Records.ini files (like Main Game).
After the main extraction, the ASIS configuration is checked in the [ComponentsSettings] section, key Component#.File= (starting with 1) and if any of them are checked and the file exists, it will be extracted.
NOTE: For the data file to work, it must be in the same path as Setup.exe, so if it is burned to disk or ISO it must be on the last disk, otherwise (folders) it must be next to Setup.exe.
Component#.File should only be the name of the component or <SubDir>\<DataFile> in relation to {src} (Setup.exe directory)

The Component will always be extracted to {app} so if you need to put the files in subfolders they must be in subfolders before compression.

If you understand a little bit, see the code below the component extraction process done after installing the main game.
Code:

    {Unpack selected components}
   
#if UseComponents == "1"
     
if ComponentsPageAvai then
      begin
        for
I := 0 to GetArrayLength(CompIndexList) - 1 do
          if
ComponentsList.Checked[CompIndexList[I]] then
          begin
           
ComponentFile := ExpandConstant('{src}\' + GetIniString('ComponentsSettings', 'Component' + IntToStr(CompIndexList[I]) + '.File', '', ExpandConstant('{tmp}\Settings.ini')));
            if (ISDoneError = False) and FileExists(ComponentFile) then
              if not
ISArcExtract(0, 0, ComponentFile, ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false) then
               
ISDoneError := True;
          end;
      end;
    #endif


alucard1973 01-05-2021 14:53

Quote:

Originally Posted by Cesar82 (Post 491719)
I don't know if the ASIS 7.2.2 I have here is the latest version, but from what I found in the code it doesn't have any reading of key Component= or Comp= in records.ini

The installation is done normally from the Records.ini files (like Main Game).
After the main extraction, the ASIS configuration is checked in the [ComponentsSettings] section, key Component#.File= (starting with 1) and if any of them are checked and the file exists, it will be extracted.
NOTE: For the data file to work, it must be in the same path as Setup.exe, so if it is burned to disk or ISO it must be on the last disk, otherwise (folders) it must be next to Setup.exe.
Component#.File should only be the name of the component or <SubDir>\<DataFile> in relation to {src} (Setup.exe directory)

The Component will always be extracted to {app} so if you need to put the files in subfolders they must be in subfolders before compression.

If you understand a little bit, see the code below the component extraction process done after installing the main game.
Code:

    {Unpack selected components}
   
#if UseComponents == "1"
     
if ComponentsPageAvai then
      begin
        for
I := 0 to GetArrayLength(CompIndexList) - 1 do
          if
ComponentsList.Checked[CompIndexList[I]] then
          begin
           
ComponentFile := ExpandConstant('{src}\' + GetIniString('ComponentsSettings', 'Component' + IntToStr(CompIndexList[I]) + '.File', '', ExpandConstant('{tmp}\Settings.ini')));
            if (ISDoneError = False) and FileExists(ComponentFile) then
              if not
ISArcExtract(0, 0, ComponentFile, ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false) then
               
ISDoneError := True;
          end;
      end;
    #endif


So if I put this, it should extract the components2.file if I choose the FRENCH version
The components1 I left empty because it is to deselect if I do not want to install it, suddenly I guess I have a problem with setting.ini

Component1.Name=Commandos Behind Enemy Lines
Component1.File=
Component1.Size=
Component1.Level=1
Component1.Exclusive=0
Component1.Checked=1
Component1.Enabled=1

Component2.Name=French
Component2.File=Setup1FR.cab
Component2.Size=930
Component2.Level=0
Component2.Exclusive=1
Component2.Checked=0
Component2.Enabled=1

Component3.Name=English
Component3.File=Setup1.cab
Component3.Size=930
Component3.Level=0
Component3.Exclusive=1
Component3.Checked=0
Component3.Enabled=1

I will see and try to find a solution for it, but there is also the problem of registry.iss, suddenly, how do I put componets for the one I chose to install in relation to the settings.ini?
yes, the version I am using is 7.2.2a

KaktoR 01-05-2021 15:24

Component settings was made only for single game, not for collection of games.

So without code editing, your goal can not be reached here.

alucard1973 01-05-2021 15:25

Quote:

Originally Posted by KaktoR (Post 491732)
Component settings was made only for single game, not for collection of games.

So without code editing, your goal can not be reached here.

I don't know enough about code :confused:
Thank you anyway for helping me and responding

alucard1973 03-05-2021 08:39

well, after testing, it decompresses the files that I select, but here is my problem, I cannot use the record.ini, otherwise it installs all the game files for me, if I don't put it, it lets me know. install well what I ask, but my problem therefore comes from the installation directory.
Can we add, I suppose it's here, a command (if you can help me because I don't know much about it) to put for example "components1.Dir = {sd} \ steamapps \ common \ test1" in settings.ini

#if UseComponents == "1"
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')), ComponentsSize);
ComponentsDiskSpaceLabel.Caption := FormatDiskSpaceLabel(SetupMessage(msgComponentsDis kSpaceMBLabel), ComponentsSize + GetSizeBytes(GetIniString('Settings', 'Size', '0', ExpandConstant('{tmp}\Settings.ini')), ComponentsSize));
ComponentsDiskSpaceLabel.Refresh;
end;

drcool 03-05-2021 08:48

Hello! Is it possible for ASIS to decompress archives with a password? (Not someone elses, archives, archives created by myself with a password) I can't seem to find anything about it in settings.ini or the script.

pratikpatel8982 03-05-2021 08:55

Quote:

Originally Posted by alucard1973 (Post 491759)
well, after testing, it decompresses the files that I select, but here is my problem, I cannot use the record.ini, otherwise it installs all the game files for me, if I don't put it, it lets me know. install well what I ask, but my problem therefore comes from the installation directory.
Can we add, I suppose it's here, a command (if you can help me because I don't know much about it) to put for example "components1.Dir = {sd} \ steamapps \ common \ test1" in settings.ini

#if UseComponents == "1"
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')), ComponentsSize);
ComponentsDiskSpaceLabel.Caption := FormatDiskSpaceLabel(SetupMessage(msgComponentsDis kSpaceMBLabel), ComponentsSize + GetSizeBytes(GetIniString('Settings', 'Size', '0', ExpandConstant('{tmp}\Settings.ini')), ComponentsSize));
ComponentsDiskSpaceLabel.Refresh;
end;

I am supposing that you want to install each component in a different folder inside the {app} directory but so far I haven't found such feature in this script.
If you want to install in specific directory just compress the files with the folder structure. For example, you want to install component 1 inside {app}\Component1\
You can't specify it. For this to work, you need to pack file with folder structure. For example, in component1.arc:
Code:

Component 1\file1,file2......file10
So after extraction, it will automatically extract inside {app}\component1\file1,file2......file10.

alucard1973 03-05-2021 11:13

Quote:

Originally Posted by pratikpatel8982 (Post 491762)
I am supposing that you want to install each component in a different folder inside the {app} directory but so far I haven't found such feature in this script.
If you want to install in specific directory just compress the files with the folder structure. For example, you want to install component 1 inside {app}\Component1\
You can't specify it. For this to work, you need to pack file with folder structure. For example, in component1.arc:
Code:

Component 1\file1,file2......file10
So after extraction, it will automatically extract inside {app}\component1\file1,file2......file10.

ok thanks

alucard1973 03-05-2021 12:28

I would like to know, if I provided my blackbox script that I had to modify, could you help me on the subject of scaling, I mean that since I have a 4k screen, I have to put Windows at 200% and I can't adapt the code to match the resolution. when I run my setup, it is obviously very small with the icons to move, I adapted with this script for practically everything except for the scaling and the setup.dll that I don't think it is too complicated to make it adapt with my blackbox.
Thank you

pratikpatel8982 03-05-2021 19:05

Quote:

Originally Posted by alucard1973 (Post 491767)
I would like to know, if I provided my blackbox script that I had to modify, could you help me on the subject of scaling, I mean that since I have a 4k screen, I have to put Windows at 200% and I can't adapt the code to match the resolution. when I run my setup, it is obviously very small with the icons to move, I adapted with this script for practically everything except for the scaling and the setup.dll that I don't think it is too complicated to make it adapt with my blackbox.
Thank you

Yes, I also want to use it with CorePack Script by BlackFire69 but it doesn't support setup.dll. But I can't help you with scaling stuff since I don't know coding.

drcool 04-05-2021 06:38

Quote:

Originally Posted by drcool (Post 491761)
Hello! Is it possible for ASIS to decompress archives with a password? (Not someone elses, archives, archives created by myself with a password) I can't seem to find anything about it in settings.ini or the script.

bump...

KaktoR 04-05-2021 08:11

Quote:

Originally Posted by drcool (Post 491777)
bump...

Example

Code:

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then

to

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, 'YourPassword', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then


drcool 05-05-2021 15:31

Quote:

Originally Posted by KaktoR (Post 491779)
Example

Code:

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then

to

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, 'YourPassword', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then


Am i looking in the wrong place? I cannot find that exact line to change it to that.

KaktoR 05-05-2021 20:38

Quote:

Originally Posted by drcool (Post 491809)
Am i looking in the wrong place? I cannot find that exact line to change it to that.

Line 4097

pratikpatel8982 06-05-2021 05:49

Quote:

Originally Posted by KaktoR (Post 491779)
Example

Code:

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then

to

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, 'YourPassword', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then


Hey, If possible can you add it like other settings so that it can be modified using settings.ini
For example, create a password section:
Code:

[Password]
Enabled=1
Password=YourPassword

BTW, I don't mind modifying the script, but it would be a great addition to ASIS if it will be supported by default. And I think it should not be too difficult to implement. Just need to modify Settings.iss and script.iss

KaktoR 06-05-2021 07:43

I don't working on the script anymore.

But you're right, only things to be added is in Settings.iss, Settings.ini and script.iss. Very simple.

mr_gnar 06-05-2021 15:00

Quote:

Originally Posted by KaktoR (Post 491779)
Example

Code:

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then

to

if not ISArcExtract(0, 100, ExpandArcFile(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, 'YourPassword', ExpandConstant('{tmp}\Arc.ini'), Data[i - 1].Arc[2], false) then


Would this be possible with an older version like 7.2.0? I saw this and I wanted to try adding this, but I still have issues with the newest version of ASIS. In the script, this exact line is there, but instead of ExpandArcFile, it's UpdateSource. Adding the password part set to the password of the test archive makes it start to read the files, but gets stuck at 0.


All times are GMT -7. The time now is 09:58.

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