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)

pincoball 07-04-2020 03:27

Quote:

Originally Posted by KaktoR (Post 485168)
Yeah UltraArc merge is broken on both scripts.

I think it is already the case that the installer automatically take the next slice, but only if it's in same place as first archive/setup.exe.

Ok I see but the installer doesn't take it automatically in this case. Trying understanding how the script code works, it seems that somehow this request of the next slice (even though placed in the same folder as the setup file) is encoded in the first slice itself rather than the ASIS/CIU script. (confirmation + file opener selection)

Is that right?

Edit: I attach the recors.ini generated by DiskSpan

Code:

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


pincoball 07-04-2020 07:04

I think I've found the solution for DiskSpan based on the example script posted from Razor12911 at

https://www.fileforums.com/showthread.php?t=99627

What was missing is simply the initialization of DiskSpan inside the script (i.e. ClsInit), then in order to solve the problem of request of the next disk do as follow:

Look for this snippet of code inside the IS script:

Code:

if Data[i - 1].Arc[0] = 'Freearc_Original' then
[... other code ...]
if ISDoneError = False and not IniKeyExists('Records2', 'Type', ExpandConstant('{{#InternalRecords == "1" ? "tmp" : "src"}}\records.ini')) and ({#UseComponents} = 0) then
            begin
              if not ISArcExtract(0, 100, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
                ISDoneError := True;
            end else begin
              if not ISArcExtract(0, 0, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
                ISDoneError := True;
            end;
            end;

then substitute with:

Code:

if Data[i - 1].Arc[0] = 'Freearc_Original' then
[... other code ...]
if ISDoneError = False and not IniKeyExists('Records2', 'Type', ExpandConstant('{{#InternalRecords == "1" ? "tmp" : "src"}}\records.ini')) and ({#UseComponents} = 0) then
            begin
              ClsInit(ExpandConstant('{src}'),WizardForm.Handle);
              if not ISArcExtract(0, 100, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
                ISDoneError := True;
            end else begin
              if not ISArcExtract(0, 0, UpdateSource(Data[i - 1].Arc[1],SourceDir), Data[i - 1].Arc[2], '', false, '', ExpandConstant('{tmp}\arc.ini'), Data[i - 1].Arc[2], false) then
                ISDoneError := True;
            end;
            end;

The only difference is the line with ClsInit(...) function

zenmar 08-04-2020 06:19

Help me
 
I love this ASIS, thanks to the creator and anyone who get involved in making this installer... I have a problem when decompress my multiple archieves... I cant open my data1.bin.003 when the dialogue box showed n asked me to add it. Is there something I have to do with record.ini or anything else to solve it...? I lack in experience to do something with the script... I did some experiment and it's getting worse lol... Thanks in advance n sorry for my bad english...

pincoball 08-04-2020 09:56

Quote:

Originally Posted by zenmar (Post 485184)
I love this ASIS, thanks to the creator and anyone who get involved in making this installer... I have a problem when decompress my multiple archieves... I cant open my data1.bin.003 when the dialogue box showed n asked me to add it. Is there something I have to do with record.ini or anything else to solve it...? I lack in experience to do something with the script... I did some experiment and it's getting worse lol... Thanks in advance n sorry for my bad english...

Did you generate the splitted archive with DiskSpan? Can you post your records.ini file (and also the compression method)? Also what do you mean you can't open the file? Does it give an error or not let you select it?

zenmar 08-04-2020 15:04

Quote:

Originally Posted by pincoball (Post 485190)
Did you generate the splitted archive with DiskSpan? Can you post your records.ini file (and also the compression method)? Also what do you mean you can't open the file? Does it give an error or not let you select it?

Yes, I used DiskSpan that came with ASIS 7.1.2 with "xZLib+srep+LZ4x4" compress method. There was no error but when I wanted to continue the installation process there was no explorer window opened that led me to select ".003" extension. The dialogue box asking me to to add "Data1.bin.003" continuously appears when I click "open" Here's my original record.ini created by diskspan...

zenmar 08-04-2020 15:11

1 Attachment(s)
Quote:

Originally Posted by zenmar (Post 485198)
Yes, I used DiskSpan that came with ASIS 7.1.2 with "xZLib+srep+LZ4x4" compress method. There was no error but when I wanted to continue the installation process there was no explorer window opened that led me to select ".003" extension. The dialogue box asking me to to add "Data1.bin.003" continuously appears when I click "open" Here's my original record.ini created by diskspan...

Oops, sorry. This is the record.ini created by diskspan...

KaktoR 08-04-2020 15:16

Could you test with some small files and make 1mb archives? So you reach 3 or 4 archives per 1mb or so...

And send me your Setup.exe please. Because I can't reproduce this error atm.

zenmar 08-04-2020 21:17

1 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 485201)
Could you test with some small files and make 1mb archives? So you reach 3 or 4 archives per 1mb or so...

And send me your Setup.exe please. Because I can't reproduce this error atm.

Sure... I just tested with small files to make multiple archieves... It run well untill ".004" and this time there's error dialogue alert showed... It said the archiev data corrupted

I Just figured out that the problem i said before occured when I made iso files of "Data1.bin.001+Setup.exe"... So when I mount the iso file and run the setup.exe from it, the error occured, I cant add next archieve (002, 003 etc). It stuck at dialogue box asking me next archieve files..

KaktoR 09-04-2020 01:09

Which compressor did you use for test archive?

If you run from ISO image, you have to switch to next ISO if Setup ask for next archive. I will change this so the file explorer will always open if next archive is not directly next to previous archive.

Edit: So I can say your archive is not broken. It extracts very well with batch file. I will look what's causing this.

zenmar 11-04-2020 03:20

Quote:

Originally Posted by KaktoR (Post 485207)
Which compressor did you use for test archive?

If you run from ISO image, you have to switch to next ISO if Setup ask for next archive. I will change this so the file explorer will always open if next archive is not directly next to previous archive.

Edit: So I can say your archive is not broken. It extracts very well with batch file. I will look what's causing this.

Sorry, little bit late to reply, been busy with some works... I used default settings of ASIS and default setting of DiskSpan that came with ASIS 7.1.2... Cz I need more time to learn the setting and how to edit it... It's out of my expertise lol....
And yes, I switched the iso, even I mount all of the iso files at the same times but still with same problem. Perhaps it's just my fault by setting it wrong... I'll try to compress some files with different setting when my works here finished... Thank you for ur help...

KaktoR 11-04-2020 14:30

1 Attachment(s)
Me and Cesar done some tests

First, as mentioned above by user pincoball, the clsinit function was missing. Strange enough, because I'm sure I never touched this. That's why no search window was opened. But whatever.

Unpack will always fail if using a third command (lzma, lzma-mt, lolz, razor, zstd), xtool+srep works fine. xtool or srep alone works fine too. Even with CIU and other scripts.

There are some possibilities:
1. The archive size of 1mb per part. Most likely, because with bigger sizes it works (option 6 is most used for whole games by users here). And I can confirm this myself, because I use XTool+srep+LZMA-MT most of the time and never got issues.
2. Bug inside cls-diskspan, unarc.dll or isdone.dll. unarc.dll and isdone.dll are pretty old and never got updated since years. Maybe some incompatibilities or bugs they have with diskspan or vise-versa.

So really nothing I could fix.

However, I added the clsinit back and the search file will now work.

pincoball 12-04-2020 02:52

1 Attachment(s)
Regarding the problem of the splitting feature of UltraARC, I think I've found the causes of it during the merging

First problem:

The split.exe executable were not extracted from the {tmp} directory:

Solution:

from

Code:

procedure UnpackCompressors();
var
  CurrFile: String;
begin
  ExtractTemporaryFile('Arc.ini');
  ...
  ExtractTemporaryFile('Facompress_mt.dll');

to

Code:

procedure UnpackCompressors();
var
  CurrFile: String;
begin
  ExtractTemporaryFile('Arc.ini');
  ...
  ExtractTemporaryFile('Facompress_mt.dll');
  ExtractTemporaryFile('Split.exe');

Second problem:

Edit: Removed: It was a problem that I made in my script

Edit: I also attach the records.ini I've been using just for reference

KaktoR 12-04-2020 03:28

It works for me.

I created archives as follow:

Code:

\Test\Disk1\records.ini
\Test\Disk1\Setup.exe
\Test\Disk1\data1a.arc

\Test\Disk2\data1b.arc
\Test\Disk2\data2a.arc

\Test\Disk3\data2b.arc

\Test\Disk4\data2c.arc
\Test\Disk4\data3.arc

Each archive contains a single test file and after unpacking all 3 files are inside destination folder.

pincoball 12-04-2020 03:38

But should I place the split files in different folders or can I just pust all together with also the setup.exe? Because for me it doesn't work.
Also I use records.ini as internal so to integrate it in the installer

KaktoR 12-04-2020 03:45

I did a second test, this time with external and internal records.ini

Code:

\Test\Disk1\Setup.exe
\Test\Disk1\data1a.arc
\Test\Disk2\data1b.arc
\Test\Disk3\data1c.arc
\Test\Disk4\data1d.arc
\Test\Disk5\data1e.arc
\Test\Disk6\data1f.arc
\Test\Disk7\data1g.arc

[Record1]
Type=Split
Source={src}\data1a.arc
Output={app}\data1.arc
Disk=1
[Record2]
Type=Split
Source={src}\data1b.arc
Output={app}\data1.arc
Disk=2
[Record3]
Type=Split
Source={src}\data1c.arc
Output={app}\data1.arc
Disk=3
[Record4]
Type=Split
Source={src}\data1d.arc
Output={app}\data1.arc
Disk=4
[Record5]
Type=Split
Source={src}\data1e.arc
Output={app}\data1.arc
Disk=5
[Record6]
Type=Split
Source={src}\data1f.arc
Output={app}\data1.arc
Disk=6
[Record7]
Type=Split
Source={src}\data1g.arc
Output={app}\data1.arc
Disk=7
[Record8]
Type=Freearc_Split
Source={app}\data1.arc
Output={app}
Disk=7

It works just fine.

Splitted files were initially meant for put them into different folders, but it also work if you put all together into one folder. If you put all into one folder, don't forget to change the disk number inside records.ini.


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

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