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)

pratikpatel8982 08-05-2021 06:49

How to configure compressor.ini for razor mtx??
 
How to configure compressor.ini for razor mtx??

pratikpatel8982 08-05-2021 07:00

Hi, I compressed a game using diskspan gui with pzlib3:m1+srep_new+razor_mtx. It was compressing fine but at last an error popped up (when razor_mtx) was compressing, it was something about memory reference or something like that, an in the conversion output folder, the .001 file was created but records.ini was not created, so I created it myself but when I extract it, I get crc mismatch error.

So now I've removed razor_mtx (which created error) and compressing again using plzib3 only..... (Hoping to not get any crc error again....)

EDIT: I've compressed the files again using pzlib3 only using diskpan 1.0.0.4 and it still gave CRC error. So the error was because of pzlib3 and I will post in its corresponding thread. Thank You!

L33THAK0R 21-05-2021 07:05

UPDATE: it seems like MSC might be causing some trouble rather than XTool v0.3.9

Hi all,

I recently did a conversion of the original painkiller games using

Code:

msc (:mp3=1:wav=1:raw=1:bmf=9:tak=9:bmp=1:lzma,bt4,fb128,lc8) + XTool 2020 (xzlib) + srep + lolz
and tried to jerry-rig ASIS v7.2.0 (v7.2.2a was giving me grief despite the forum users who tried to help with my issues) to work with XTool 2020, by replacing the xtool .exe and .dll's of ASIS v7.2.0, in their existing directories, with the .exe & .dll's that were in the resources directory for xtool v0.3.9, and additionally editing the ASIS arc.ini unpackcmd string as follows:
Code:

[External compressor:xprecomp,xZLib,xzlib,xLZ4,xlz4,xLZO,xlzo,xZSTD,xzstd,kraken]
header    = 0
unpackcmd = XTool decode -t100p-1 - - <stdin> <stdout>

My issue is that the installer during decompression exits at ~1.5%, with no error code. It's a long shot but I was wondering if anyone might be able to help out, as I have some conversions currently running that are using XTool v0.3.9 features and formatting not available (as far as I know) with the previous version of XTool I was using.

Thank you for anyone taking the time to read this, any help would be greatly appreciated

mr_gnar 31-05-2021 10:15

Quote:

Originally Posted by mr_gnar (Post 491835)
Would this be possible with an older version like 7.2.0?

Still wondering about this. 7.2.2 is still giving me issues, and for some reason, stuff just "works" under 7.2.0, but I still can't get archives set with a password to work with either. 7.2.2 keeps refusing my records.ini and extracts nothing, and 7.2.0 just says "wrong password".

Cesar82 31-05-2021 15:18

ASIS.v7.2.2a
 
@Kaktor, the last version of A.S.I.S. is THIS.

L33THAK0R 08-06-2021 04:03

Hi all,

Is it possible to rename a series of files extracted OR all files with a given extension, post-extraction, or would this require a rewrite of the script?

Masquerade 08-06-2021 06:35

Quote:

Originally Posted by L33THAK0R (Post 492782)
Hi all,

Is it possible to rename a series of files extracted OR all files with a given extension, post-extraction, or would this require a rewrite of the script?

Simply include a bat file in your archive with the required commands then use Exec2 to run the bat file in the "ssPostInstall" phase.

L33THAK0R 08-06-2021 15:19

Quote:

Originally Posted by Masquerade (Post 492786)
Simply include a bat file in your archive with the required commands then use Exec2 to run the bat file in the "ssPostInstall" phase.

I completely forgot about using the redistributables function! Argh, sorry for the silly question, thank you for your assistance!

Masquerade 10-06-2021 11:00

I assume
Code:

ISDoneStop;
will stop the install timer?

Cesar82 10-06-2021 19:18

Quote:

Originally Posted by Masquerade (Post 492838)
I assume
Code:

ISDoneStop;
will stop the install timer?

In the ISDone documentation it says:
Code:

1)
function ISDoneStop: boolean;

During a test pass, it calculates all data by checkpoints and writes to the file specified in the initialization, clears some variables, etc.

2)
Stopping internal library timers, freeing memory from library variables, writing the records.inf file during a test run, etc.
Code:

Original information:
1)
при тестовом проходе рассчитывает все данные по чекпоинтам и записывает в файл, заданный в инициализации, очищает некоторые переменные, и т.д.

2)
остановка внутренних таймеров библиотеки, освобождение памяти от переменных библиотеки, запись файла records.inf при тестовом прогоне, и т.д.

I think it's a deinitialization function (like IsDoneUnInit).
But if you call IsDoneInit and after the procedure calls ISDoneStop it is necessary to call UnloadDLL(<isdonedllpath>) to be able to initialize the IsDoneInit function again (If you don't call UnloadDLL you will get an error message).

I can say this because I had to do this in order to extract the decompressor files from DLL Setup.dll in CIU.
Initially CIU extracts only Records.ini to check the installer type information, then Isdone is rebooted to extract the decompressor files and finally if everything is ok, reboots again to perform game extraction.

Masquerade 10-06-2021 23:45

I am mainly trying to pinpoint when the installer timer is stopped so I can move this point to further in the script to keep the timer running despite all archives finishing extraction.

Cesar82 10-06-2021 23:56

Quote:

Originally Posted by Masquerade (Post 492850)
I am mainly trying to pinpoint when the installer timer is stopped so I can move this point to further in the script to keep the timer running despite all archives finishing extraction.

As far as I could understand, ISDoneStop is always between the begin end of ISDoneInit.
Maybe you shouldn't call IsDoneStop without successfully initializing it.
Other than that you can initialize and finalize whenever you want (You can initialize in InitializeWizard and Finalize in DeinitializeSetup if necessary (Just placing a globar variable to receive the result of the ISDoneInit function.

L33THAK0R 16-06-2021 16:00

Hi all,

Does anyone know how to force the redists box for ASIS to be ticked? I'm currently using the redists to force some scripts to run and don't want there to be any chance of the end-user mucking up the install.

Another question I have is does anyone know why, in v7.2.0 compact mode, the redists box remains unavailable, however in v7.2.2a compact mode, the redist box is selectable?

EDIT: After editing the v7.2.0 script a bit I got the redists to work, however I'm yet to figure out the answer to my first question.

Masquerade 16-06-2021 23:45

L33THAK0R

Why not go to the ssPostInstall part of the setup and write an Exec2 statement to run your script?

This way, the script will be ran instantly after the files are extracted, Regardless of whether the user opts to install redists or not.

L33THAK0R 17-06-2021 00:27

Quote:

Originally Posted by Masquerade (Post 492915)
L33THAK0R

Why not go to the ssPostInstall part of the setup and write an Exec2 statement to run your script?

This way, the script will be ran instantly after the files are extracted, Regardless of whether the user opts to install redists or not.

Honestly I investigated your suggestion and using the redists seems like the easiest solution. Did about 5 minutes of looking through the script (I posted my question rather hastily, as I was excited to finish my repack of the series this method is required for, and was caught up in the moment talking to some lads and a quite skilled re-packer about it.), and figured out the function/call/whatever its classified as that's responsible for checking if the redists are selected is "UseRedists" (for anyone looking for a similar solution in the future) on line ~4918 (I've modified ASIS v7.2.0 a fair bit to suit my needs better so the line number might not be exact), and it works perfectly.

L33THAK0R 17-06-2021 02:33

Quote:

Originally Posted by Masquerade (Post 492915)
L33THAK0R

Why not go to the ssPostInstall part of the setup and write an Exec2 statement to run your script?

This way, the script will be ran instantly after the files are extracted, Regardless of whether the user opts to install redists or not.

Just wanted to update and say yeah you're right ssPostInstall is heaps cleaner to organise than a redist, decided to take your advice, thanks for the help!

L33THAK0R 20-06-2021 23:48

Hi all,

Does anyone know how to add additional commands/options to srep for unpacking with ASIS? I'm currently using pzlib v3 (xtool doesn't inflate the files as well) + srep + lolz/rz (experimenting with different combinations right now) for the 2015 title "Mad Max" and I always seem to get either a -1 or CRC fail error at some point when unpacking. According to this thread using the "-hash" command to ignore bad CRC checks, may resolve this bug, and if not then I'll just have to investigate a different method. Would it be as simple as editing the arc.ini to include a srep header or would I need to add/edit something in the script? Thanks for taking the time to read this post.

Masquerade 21-06-2021 10:18

Quote:

Originally Posted by L33THAK0R (Post 492954)
Hi all,

Does anyone know how to add additional commands/options to srep for unpacking with ASIS? I'm currently using pzlib v3 (xtool doesn't inflate the files as well) + srep + lolz/rz (experimenting with different combinations right now) for the 2015 title "Mad Max" and I always seem to get either a -1 or CRC fail error at some point when unpacking. According to this thread using the "-hash" command to ignore bad CRC checks, may resolve this bug, and if not then I'll just have to investigate a different method. Would it be as simple as editing the arc.ini to include a srep header or would I need to add/edit something in the script? Thanks for taking the time to read this post.

I had no issues decompressing mad max when using profrager's cls-srep.

If you are using srep.exe to decompress, try with cls-srep

L33THAK0R 21-06-2021 10:30

Quote:

Originally Posted by Masquerade (Post 492961)
I had no issues decompressing mad max when using profrager's cls-srep.

If you are using srep.exe to decompress, try with cls-srep

Darn, might be the version of pzlib I'm using then! I've been using the stock standard cls-srep that ASIS v7.2.0 ships with, time to test out some older versions of pzlib me thinks.

:( Sad8669 21-06-2021 10:39

Try this thread.

Most probably caused by different versions of PZlib.

Masquerade 21-06-2021 12:18

Quote:

Originally Posted by L33THAK0R (Post 492962)
Darn, might be the version of pzlib I'm using then! I've been using the stock standard cls-srep that ASIS v7.2.0 ships with, time to test out some older versions of pzlib me thinks.

Why are you not using xtool?

L33THAK0R 21-06-2021 16:18

Quote:

Originally Posted by Masquerade (Post 492964)
Why are you not using xtool?

Best I can get with xtool (zlib codec, version 0.3.20), with srep and lolz, is ~9gb output (I forgot if thats with preflate or reflate, but I tried both), pzlib v3 is able to squash the input down to ~3gb, I know it's possible (and likely at this point) that the outputs from pzlib v3 may be corrupt, however they're in-line with results claimed by other users on this forum.

KaktoR 06-07-2021 03:17

2 Attachment(s)
The Cesar update

Code:

v7.3.1
_____________________________________________________
- ASIS is now fully compatible with DiskSpan GUI v2.0+ (thanks to Cesar82)
  > Old DiskSpan GUI versions aren't compatible anymore
  > You can still use your own archives with ASIS (make Setup.dll manually!)
  > ASIS is now x64 ONLY!
- Remade the Redists code part (thanks to Cesar82)
  > You can now use theoretical unlimited items for your Redists
- Added options for InternalDLL and PasswordDLL inside Script.iss (thanks to Cesar82)
  > Putting Setup.dll next to the script will compress the DLL file into the Setup.exe file
  > Same password used in DiskSpan_GUI to extract decompressors from Setup.dll files
- Changed components (thanks to Cesar82)
  > The components are now exclusive for game collections
- Added Tasks (thanks to Cesar82)
  > With tasks you can define optional content to install for your installation, such
    as languages, soundtrack, wallpapers, ... (this was the former components)
- It is now possible to use TXT and RTF files for EULA (thanks to Cesar82)
- Changed the time remaining label (thanks to Cesar82)
  > It will now be visible with more then one archive.
    Progress is now calculated according to the size of the arc generated by DiskSpan GUI.
    Example: If DiskSpan GUI generates 2 archives, the first 400 mb and the second 100 mb means
    that the first archive will occupy 80% and the second 20%.
    So when extracting arc1, 0.80 will be passed in the second parameter (PctOfTotal) of IsDone's
    IsArcExtract function. For the second file 0.20 will be sent.
    If you don't have the sizes in Records.ini, it will be divided by the number of files, which is 0.50/0.50.
    If you don't use DiskSpan GUI for generating records.ini, you can do it manually (like with records.inf)
- Updated BASS.dll library (thanks to Cesar82)
- Updated some other things (thanks to Cesar82)

I did many tests with this, but maybe I didn't test all 100%. If you encounter any bugs, let us know.

First post updated with new images.

Cesar82 06-07-2021 17:31

Fix ASIS error on disable task page:
Change text in script line 4063.
Code:

#ifdef UseTasks

change to:

#if UseTasks


L33THAK0R 06-07-2021 19:05

Would it be possible to add some of the changes to the CheckCRC section of ASIS v7.3.1 to v7.2.0? Specifically line 5527 under the [Custom Messages] section:
Code:

english.label2={#if CompactMode}Overall progress:{#else}Total files: %1  Files processed: %2    Ok: %3  Missing: %4  Bad: %5{#endif}
I attempted to do so myself but was met unsucessful.

KaktoR 07-07-2021 11:14

Quote:

Originally Posted by L33THAK0R (Post 493120)
Would it be possible to add some of the changes to the CheckCRC section of ASIS v7.3.1 to v7.2.0? Specifically line 5527 under the [Custom Messages] section:
Code:

english.label2={#if CompactMode}Overall progress:{#else}Total files: %1  Files processed: %2    Ok: %3  Missing: %4  Bad: %5{#endif}
I attempted to do so myself but was met unsucessful.

Send me the source code of v7.2.0 (I don't have it anymore) and I will look into it.

L33THAK0R 07-07-2021 17:39

2 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 493137)
Send me the source code of v7.2.0 (I don't have it anymore) and I will look into it.

Thank you so much for offering to help! Attached is ASIS v7.2.0 (for anyone else unable to find it) as well as just the script for v7.2.0.

KaktoR 08-07-2021 02:37

1 Attachment(s)
Like this?

L33THAK0R 08-07-2021 05:13

Quote:

Originally Posted by KaktoR (Post 493149)
Like this?

Argh, yeah, completely forgot v7.2.0 would have a "custom messages.iss", sorry for bothering you with such a trivial issue, thanks so much, this is a massive help!

BKR-TN 11-07-2021 00:03

Make first letter uppercase for languages in Tasks page for v7.3.1
 
To make first letter uppercase for languages in Tasks page when choosing English as the setup language, go to line (5541) in "Script.iss" and change:
Code:

{#if UseComponents}english.Compenglish=english{#endif}
{#if UseComponents}english.Compfrench=french{#endif}
{#if UseComponents}english.Compgerman=german{#endif}
{#if UseComponents}english.Compitalian=italian{#endif}
{#if UseComponents}english.Compspanish=spanish{#endif}
{#if UseComponents}english.CompMexican=Mexican{#endif}
{#if UseComponents}english.Comppolish=polish{#endif}
{#if UseComponents}english.Comprussian=russian{#endif}
{#if UseComponents}english.Compportuguesebrazil=Portuguese (Brazil){#endif}
{#if UseComponents}english.Compczech=czech{#endif}

to:
Code:

{#if UseComponents}english.Compenglish=English{#endif}
{#if UseComponents}english.Compfrench=French{#endif}
{#if UseComponents}english.Compgerman=German{#endif}
{#if UseComponents}english.Compitalian=Italian{#endif}
{#if UseComponents}english.Compspanish=Spanish{#endif}
{#if UseComponents}english.CompMexican=Mexican{#endif}
{#if UseComponents}english.Comppolish=Polish{#endif}
{#if UseComponents}english.Comprussian=Russian{#endif}
{#if UseComponents}english.Compportuguesebrazil=Portuguese (Brazil){#endif}
{#if UseComponents}english.Compczech=Czech{#endif}

Edit:
If I disable Components or removed Component2 from settings.ini I get this error after choosing setup language:
https://i.imgur.com/Qixgzpum.jpg

KaktoR 11-07-2021 02:18

Thanks for reporting.

The problem comes somewhere from the tasks

I will look at it.

Cesar82 11-07-2021 05:25

Quote:

Originally Posted by KaktoR (Post 493201)
Thanks for reporting.

The problem comes somewhere from the tasks

I will look at it.

Change in all lines that refer to components in the [CustomMessages] section from:
Code:

{#if UseComponents}
To:
Code:

{#if UseComponents || UseTasks}
These custom messages are also used for tasks.
I've been out of town, cell phone only(notepad) for a couple of weeks, so I can't change the script and post a fix.

KaktoR 11-07-2021 09:19

This fixed the issue, but there are a new one :D

If you disable components, the WizardForm.NextButton is disabled and you can't proceed.

I spend the half day to find the error but all of this doesn't make any sense to me.

Cesar82 11-07-2021 10:04

Quote:

Originally Posted by KaktoR (Post 493204)
This fixed the issue, but there are a new one :D

If you disable components, the WizardForm.NextButton is disabled and you can't proceed.

I spend the half day to find the error but all of this doesn't make any sense to me.

Run Asis in inno setup Debug mode, and after the nextbutton is disabled, search for "wizardForm.NextButton.Enabled" and see which line has a dot to the left of the line indicating that the line was executed. let me know the line number.

KaktoR 12-07-2021 02:27

Delete Line 4817

Code:

if CurPageID = wpWelcome then
  begin
...
GetFreeSpaceCaption(nil);

Hotfix added

I guess this was just a false copy&paste by accident ;)

Zsuvalo 14-07-2021 00:29

Hi!

Can someone please make a step-by-step guide on how to use ASIS with DiskSpan GUI
because as a little dummy I am, I can't make it work... It always freezes when pressing install.

Thanks, Zsuvalo

mausschieber 14-07-2021 01:46

Quote:

Originally Posted by Zsuvalo (Post 493239)
Hi!

Can someone please make a step-by-step guide on how to use ASIS with DiskSpan GUI
because as a little dummy I am, I can't make it work... It always freezes when pressing install.

Thanks, Zsuvalo

have you read the topic in its own thread? if not then here

Zsuvalo 15-07-2021 00:28

I finally made it work by uncommenting line #8 in the script so the Setup.dll gets merged into the .exe. It works perfectly now.

KaktoR 15-07-2021 00:54

In any case you need Setup.dll.

Setup.dll will be created by DiskSpan GUI if the process is complete. You can also create it manually if you don't use DiskSpan GUI.

However, like you already find out, you can include Setup.dll into Setup.exe by uncommenting Line 8 in Script.iss, move Setup.dll next to Script.iss and then compile it.

srt19 17-07-2021 11:47

Hello,

I wonder if there's a way to run batch script directly after finished extracting a certain data file (e.g Data-01.bin), and when it finished it continue to extract the next data file.

Thanks.


All times are GMT -7. The time now is 07:34.

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