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)

ipom 21-07-2021 05:52

With v7.2.0 you could define the file location to use for components but now (v7.3.1) you can no longer do that, how am I supposed to link components and compressed archives? I also see no option do to so with the newly added 'tasks'... I'm probably just being stupid but I would like some clarification.

Cesar82 21-07-2021 16:35

Quote:

Originally Posted by ipom (Post 493358)
With v7.2.0 you could define the file location to use for components but now (v7.3.1) you can no longer do that, how am I supposed to link components and compressed archives? I also see no option do to so with the newly added 'tasks'... I'm probably just being stupid but I would like some clarification.

With the current version of ASIS you configure tasks in DiskSpan GUI by adding a new Data.bin and specifying a value in the task combobox.
The same goes for a language that will only be installed if the installer is started in the corresponding language.
To install the same Data.bin for more than one task, manually indicate the tasks in the combobox, separating by comma (The same goes for languages).

Tasks must be configured in ASIS Settings.ini starting with Task 1 (each line of the asis checklistbox is counted as a task even if it is one ItemType GROUP) .

KaktoR 22-07-2021 01:46

Quote:

Originally Posted by ipom (Post 493358)
With v7.2.0 you could define the file location to use for components but now (v7.3.1) you can no longer do that, how am I supposed to link components and compressed archives? I also see no option do to so with the newly added 'tasks'... I'm probably just being stupid but I would like some clarification.

You link them in records.ini

Example:

Code:

Component1.Name=GAME 1
Component1.ItemType=CHECK
Component1.Size=5.00 GB
Component1.Level=0
Component1.Checked=1
Component1.Enabled=1

[Record1]
Type=FreeArc_Original
Source={src}\Game1.bin
Output={app}\
Disk=1
Component=1
Size=301.89 MB

----------------------------

Task1.Name=Languages // This task is just a GROUP, no files linked to it
Task1.ItemType=GROUP
Task1.Size=0
Task1.Level=0
Task1.Checked=1
Task1.Enabled=1

Task2.Name=cm:EN
Task2.ItemType=RADIO
Task2.Size=500 mb
Task2.Level=1
Task2.Checked=1
Task2.Enabled=1

[Record2]
Type=FreeArc_Original
Source={src}\English.bin
Output={app}\
Disk=1
Component=1
Task=2
Size=100 MB


L33THAK0R 24-07-2021 08:28

Is it possible to get ASIS to read a checksum file from within the {app} directory? I'm testing out combining checksums based on end-user selection to be able to verify all selected items (currently just verifying main/core files), and my current implementation is to put a bunch of respectively named dummy checksum files within the/one of the core archive/s, with each optional/component archive containing its own relevant checksum, which overwrites the dummy checksum during installation. My hope is to execute a script to combine these all together (using the batch "copy" command) to merge said checksums into one complete checksum file to be used by ASIS post-install for verification. However during the compile stage it seems ASIS isn't keen on letting this happen.

KaktoR 24-07-2021 08:35

Not sure, but maybe by changing all constants {tmp} to {app} for #CRCFileName ispp.

L33THAK0R 24-07-2021 21:18

UPDATE 1: Copying the combined checksums works (checked the copied file in the {tmp} directory), however, it seems like Inno Setup isn't too happy about one of its files being replaced, I'll probably have to use something like QuickSFV and get the setup to launch a batch script if CRC's are enabled.

Quote:

Originally Posted by KaktoR (Post 493401)
Not sure, but maybe by changing all constants {tmp} to {app} for #CRCFileName ispp.

Seems like that didn't work, I'm gonna try to figure out the whole pascal scripting nonsense and see if I can copy a file from the {app} directory to the {tmp} directory.

KaktoR 25-07-2021 02:48

1 Attachment(s)
Quote:

Originally Posted by L33THAK0R (Post 493410)
UPDATE 1: Copying the combined checksums works (checked the copied file in the {tmp} directory), however, it seems like Inno Setup isn't too happy about one of its files being replaced, I'll probably have to use something like QuickSFV and get the setup to launch a batch script if CRC's are enabled.



Seems like that didn't work, I'm gonna try to figure out the whole pascal scripting nonsense and see if I can copy a file from the {app} directory to the {tmp} directory.

Edit: Make changes in Settings.ini (only add RunFromAppFolder= key)

Code:

[CRCCheck]
...
...
RunFromAppFolder=0/1

If set to 1, the Hash file will be copied to {app} folder and will be executed from there instead of {tmp}.

If you want to merge some hash files together, you have to do it inside {tmp} folder first. Just make sure you do the merge operation before FileCopy Line 5004 (for NormalMode) and Line 5264 (for CompactMode).

L33THAK0R 25-07-2021 03:10

Quote:

Originally Posted by KaktoR (Post 493415)
Edit: Make changes in Settings.ini (only add RunFromAppFolder= key)

Code:

[CRCCheck]
...
...
RunFromAppFolder=0/1

If set to 1, the Hash file will be copied to {app} folder and will be executed from there instead of {tmp}.

If you want to merge some hash files together, you have to do it inside {tmp} folder first. Just make sure you do the merge operation before FileCopy Line 5004 (for NormalMode) and Line 5264 (for CompactMode).

Thank you for this! I'll definitely see if I can carry these changes over to v7.2.0 (I can't seem to get my head around versions past this version but currently, and for the foreseeable future, my needs are pretty basic regarding setup functionality). I was able to enact my previous plans of using QuickSFV with just a few changes in the script. I'm sorry to have caused you the trouble, but hopefully I'll be able to put your effort to good use!

mr_gnar 28-07-2021 12:18

I recently downloaded v7.3.1 and it seems promising enough with what I looked at, but I am having trouble trying to compile a setup so I can test to see if I can get anything to work.

Line 4066: Column 9: Unknown identifier "I" - This error pops up. Without changing anything in the stock Settings.ini, that error doesn't show. The line is something related to the "task list", but the only thing I changed was disabling it because I don't want to use it. What's the issue?

KaktoR 28-07-2021 12:27

Send me your settings.ini

Cesar82 28-07-2021 13:38

Quote:

Originally Posted by mr_gnar (Post 493466)
I recently downloaded v7.3.1 and it seems promising enough with what I looked at, but I am having trouble trying to compile a setup so I can test to see if I can get anything to work.

Line 4066: Column 9: Unknown identifier "I" - This error pops up. Without changing anything in the stock Settings.ini, that error doesn't show. The line is something related to the "task list", but the only thing I changed was disabling it because I don't want to use it. What's the issue?

This error I think is because you didn't replace the old script with the hotfix posted HERE.
Please advise if you still continue to display the compilation error after replacing the script with the hotfix.

mr_gnar 11-08-2021 18:10

Late response but yeah, the hotfix did work, forgot about that. Thanks Cesar.

2 more questions. How would I include a batch script into my setup, and run it out after decompression of the archives? I was looking at this method right here for MGSV and it needs said batch script to run after install to rebuild the chunk files. I do remember seeing a post on how to do it, but that was awhile ago and I didn't need it. Second question is, is there a way to make the script not have the ability to create/use Start menus at all? Someone mentioned to me that even if the "Don't create a start menu" button is checked, it still makes start menus.

Masquerade 11-08-2021 23:02

Search ssPostInstall

In that section, put Exec2(ExpandConstant('{app}\mybatchfile.bat'))

Afair this is correct syntax.

LordxKinG 12-08-2021 01:48

Hii, at last version v7.3.1, how to create installer without record.ini file?

KaktoR 12-08-2021 01:52

1 Attachment(s)
Code:

v7.3.4
_____________________________________________________
- Added UpdateMode
  > If enabled setup will not create uninstall files, icons or {app} folder
  > Exe check in Settings.ini is required to proceed to installation
  > Only aviable in compact mode
- Fixed MB label for some languages (thanks to Cesar)
- Added button sounds
- Fixed a bug which exits the installer if searching for a archive and if installer asks if to quit, you select "No" the installer quits (this)
  > The problem was a false ISDoneError boolean in function BrowseArcFile
- The MediaPlayer library is no longer required to play button sounds (thanks to Cesar for the hint)
- Some other things

v7.3.3
_____________________________________________________
- Added feature for folder deletion after uninstalling

v7.3.2
_____________________________________________________
- Some changes for DSG 2.0.0.5+
- Added Component key to [Executable#]'s

v7.3.1b
_____________________________________________________
- Corrected a few things in help file
- Added RunFromAppFolder= key for [CRCCheck] section
  > If set to 1, the Hash file will be read from {app} folder
    If set to 0, the Hash file will be read from {tmp} folder
- Added [Batch] section
  > With this you can run a defined batch file after Setup is done
- Fixed DiskSpaceImage (just a small pixel adjustment)

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
  > 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
- Changed the time remaining label
  > 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
- Updated some other things

v7.2.2
_____________________________________________________
- Updated compressors
- On cancelling installation the {app} folder will now be deleted
- Added XTool 2020 support
- Added DiskSpan_GUI support (thanks to Cesar82)
- Fixed cancel button
- Removed some leftovers from previous versions in script which are not used anymore
- Moved 'DefaultInstallDir=' key to [Settings] section
  > [ExtractSettings] section removed
- Fixed title on ExitSetupMessageBox if special chars were used (no hieroglyphs)
- Updated DiskSpan_GUI to latest version
- Fixed a problem with lower/uppercase "FreeArc_X" in records.ini reading
- Added "IconFileName=" key to [Executable#] section (a)
- Fixed several hieroglyphs (a)
- Removed COMPRESSOR_GUI (a)
- Updated DiskSpan_GUI to latest version (a)

v7.2.0
_____________________________________________________
- Fixed CRC Check from previous update
- Fixed InfoBefore and EULA
  > Before it was possible to change the texts
- It is now possible to use both TXT and RTF files for InfoBefore and EULA
- Updated russian localization
- Updated french localization
- Redone compressor settings
  > It now uses COMPRESSOR_GUI to change the settings
  > Thanks to Cesar82
- CompactMode now have it's own information page
  > It is located near about button
  > This opens a new window which will show you informations about the game or your repack
- If WebsiteButtonText is empty, a custom message 'Website' will be used instead
- Added Czech language to installer
  > "a few" messages still have to be translated
- Added a new checkbox "Limit RAM and CPU usage" to both modes
  > If this checkbox is checked, RAM and CPU usage will be limited during installation
- Added a small bitmap to SelectDirPage to Free/Need space labels
- It is now possible to use special characters like ™ for your application
  > Before you got strange hieroglyphs
- Fixed time remaining check if [Record2] is present in records.ini
- Fixed misplaced buttons and texts on 125%+ desktop scale (hopefully for ever now)
- Fixed a bunch of small errors, misplacings and code duplicates
- Fixed a bunch of this annoying error messages on compiling
- Updated help file
- Updated VCL viewer source code
- Added UE4 decryption tool
  > Thanks to Razor12911

v7.1.7
_____________________________________________________
- Fixed "OK" button on components page (CompactMode) with higher desktop resolutions
  > Hopefully this will be the last one
- Fixed "Background" button on FinishedPage with special settings
- Added a new [Executable#] section to Settings.ini
  > There will be set executables for shortcuts
- Reworked creating icons for your application
  > It is now possible to set/create more then one icon
  > Theoretical you can create an infinite number of shortcuts
- Updated all languages
- Some script cleanup, now be less unneccessary doubled codes and trash
- Updated Help file
- Hotfix: Fixed hash check if more then from 1 disc/iso is installed
  > Before the file was extracted on hash page, and if you were installing from more
    then one disc/iso and changed the disc/iso, Installer couldn't extract the file
    because Setup.exe was not in {src} folder anymore, so you had to remount the disc/iso
    and click "Retry" to start the hash check. This is now fixed.
- Hotfix: Fixed broken FinishPage if CRC checkbox was checked (NormalMode)
- Hotfix 2: Fixed shortcut creation
- Hotfix 3: Fixed misplaced cancel button if vcl style was used (NormalMode)

v7.1.6
_____________________________________________________
- Fixed diskspan file search window
  > Clsinit function was missing and is now back
- Fixed positioning of CRC Checkbox on CompactMode
- If no Setup.ico is present, compiler will use default icon now instead of giving a error message while compile
- Added PMT support for MPZ
- Changed Time Remaining label
  > Before it showed "Infinity" if you used more then one record inside records.ini.
    If you use more then one record, Time Remaining will not show up anymore.

v7.1.5
_____________________________________________________
- Changed BPK decompressor (thanks to Masquerade)
- Added PMT
  > Atm only for RAZOR Archiver
- Added Oodle8 support
- Fixed doubled installation display size (thanks to Cesar82)
- Removed DLZ

v7.1.4a
_____________________________________________________
- Fixed installation size in CompactMode if components were used and all components were unchecked (Checked=0)

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


v7.1.3
_____________________________________________________
- Reworked Redist page
- Active language will be added to INIFile now
- Added file checks for components (thanks to Cesar82)


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)


v7.1.1b
_____________________________________________________
- Fixed Music Button
- Fixed Hardware detection (thanks to peterf1999 for the help)
- Fixed Finish Button if CRC Check is not used
- 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
- 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
- Added ability to change Hardware label colors in [SystemRequirement] section
- Fixed some other bugs


v7.1.1a
_____________________________________________________
- Removed ISUtils.dll
- Added green indicator if Hardware match the requirement
- Updated BASS Audio Library to v2.4.14.0
- Added some help to Settings.ini


v7.1.1
_____________________________________________________
- Updated some compressors
- Added option to make records.ini internal
- Rebuild file handling for compressors
- Updated file structure
- Removed old code
- Removed Compiler.exe for ISEE
  > You have to use IS (u) now
- Fixed ProgressBar flickering
  > It had something to do with % (TLabel)
  > % is now (StaticText)
- Added Time Remaining and Time Elapsed
  > Time Remaining is broken at the moment
- Removed ProgressBarLabelColor
  > It is not working with (StaticText)
- Increased Setup Window size
- Added ShowLanguageBox= option
- Moved CRC Check CB to DirPage
- Fixed CPU requirement calculation
- Rounded DirectX version number (from xy,z to xy)
- It is now possible to use RGB Color instead of BGR
- Fixed Music and Website Buttons if one of them are disabled
- Fixed compile error if AFR "019" is enabled
- Fixed error if not using certain options
- Added ISHash library (thanks to peterf1999)
  > Removed QuickSFV
  > Valid file types: md5, sha1, sha256, sha512
- Overhauled SelectDirPage a bit
- Removed string "x 1 (Running)" from GPU label
- Added pause button on installer
  > With this you can pause the installation
- Fixed PercentLabel for diskspan archives


KaktoR 12-08-2021 01:53

Quote:

Originally Posted by LordxKinG (Post 493625)
Hii, at last version v7.3.1, how to create installer without record.ini file?

Records.ini is needed.

However you can include Records.ini file into Setup.dll file.

XxAZAxX 16-08-2021 07:14

Hi everyone
 
2 Attachment(s)
Hello to all friends, as always I thank in advance all the work you do you are always super!

Here I list the various errors found and some changes made.

ASIS 7.3.1B - Works great.

ASIS 7.3.1C UPDATE - DOES NOT work, in practice the installation continues and after it has finished the extraction it says that it has been completed BUT in reality it does not install and does not extract any type of file leaving only the uninstall folder, in addition it seems which hangs in windows activities for a while.
__________________________________________________ ________________

In ASIS 7.3.1B I can not install only what you select, as in a screenshot in practice if I select only 3 languages ​​and do not flag the rest of the language packs ASIS installs them the same, I understand that in the "Records. ini "I have added them but how can you make a system that the user chooses what to install and which not even if the pack languages ​​are present?
(in Windows Phone Installer, this type of problem does not exist) could ASIS be extended or at least in some way modified, which more or less has the same function? it would be an incredible turning point, I know it is an abnormal request but it would really be the best.

Thanks for everything and sorry my english i used google translate. xD

KaktoR 16-08-2021 07:17

You have to define the components/tasks in records.ini

Example:

Code:

Task2.Name=cm:EN
Task2.ItemType=CHECK
Task2.File=1
Task2.Size=1 mb
Task2.Level=1
Task2.Checked=1
Task2.Enabled=1

Task3.Name=cm:IT
Task3.ItemType=CHECK
Task3.File=1
Task3.Size=1 mb
Task3.Level=1
Task3.Checked=1
Task3.Enabled=1

-----------------------------

[Record2]
Type=Freearc_Original
Source={src}\Italian.TEST
Output={app}\
Disk=1,2
Task=3 //Task=3 because italian language in Settings.ini is Task3

[Record3]
Type=Freearc_Original
Source={src}\English.TEST
Output={app}\
Disk=1,3
Task=2 //Task=2 because english language in Settings.ini is Task2


XxAZAxX 16-08-2021 07:43

Hi bro
 
1 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 493663)
You have to define the components/tasks in records.ini

Example:

Code:

Task2.Name=cm:EN
Task2.ItemType=CHECK
Task2.File=1
Task2.Size=1 mb
Task2.Level=1
Task2.Checked=1
Task2.Enabled=1

Task3.Name=cm:IT
Task3.ItemType=CHECK
Task3.File=1
Task3.Size=1 mb
Task3.Level=1
Task3.Checked=1
Task3.Enabled=1

-----------------------------

[Record2]
Type=Freearc_Original
Source={src}\Italian.TEST
Output={app}\
Disk=1,2
Task=3 //Task=3 because italian language in Settings.ini is Task3

[Record3]
Type=Freearc_Original
Source={src}\English.TEST
Output={app}\
Disk=1,3
Task=2 //Task=2 because english language in Settings.ini is Task2


Hi KaKtoR, I did as you told me and also corrected the numbers that I had previously busted, but the installer freezes and remains locked until I close it from activities .. this is the file I corrected, and that's the screenshot of how it is now... What am I doing wrong? :'(

Code:

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

[Record2]
Type=Freearc_Original
Source={src}\English.TEST
Output={app}\
Disk=1,2
Task=2

[Record3]
Type=Freearc_Original
Source={src}\Italian.TEST
Output={app}\
Disk=1,3
Task=3

[Record4]
Type=Freearc_Original
Source={src}\French.TEST
Output={app}\
Disk=1,4
Task=4

[Record5]
Type=Freearc_Original
Source={src}\Spanish.TEST
Output={app}\
Disk=1,5
Task=5

[Record6]
Type=Freearc_Original
Source={src}\Polish.TEST
Output={app}\
Disk=1,6
Task=6

[Record7]
Type=Freearc_Original
Source={src}\German.TEST
Output={app}\
Disk=1,7
Task=7

[Record8]
Type=Freearc_Original
Source={src}\Por-Brazil.TEST
Output={app}\
Disk=1,8
Task=8

[Record9]
Type=Freearc_Original
Source={src}\Czech.TEST
Output={app}\
Disk=1,9
Task=9

[Record10]
Type=Freearc_Original
Source={src}\Russian.TEST
Output={app}\
Disk=2
Task=10


KaktoR 16-08-2021 07:44

I see. Installer extracts the archives to {tmp} folder instead of {app}. Will fix this asap.

XxAZAxX 16-08-2021 07:49

Hi bro
 
Quote:

Originally Posted by KaktoR (Post 493665)
I see. Installer extracts the archives to {tmp} folder instead of {app}. Will fix this asap.

So is it an extraction error? I without making the changes that is to add Task = 1 etc. etc. made me extract, what do you mean is for the new updated version that is the 7.3.1C?

KaktoR 16-08-2021 07:53

Well archives will be extracted but to wrong folder.

I tested it now with your archives and it seems to work (only selected files will be extracted).

Here is a workaround for it.

XxAZAxX 16-08-2021 08:59

Hi bro
 
1 Attachment(s)
Quote:

Originally Posted by KaktoR (Post 493667)
Well archives will be extracted but to wrong folder.

I tested it now with your archives and it seems to work (only selected files will be extracted).

Here is a workaround for it.

I tried bro, to try to clear 4 or 5 languages and lasciane active only 3 or 4 you'll see that the installer crashes, and here I could not tell you what the problem is when I inserted Task=2, etc, etc, etc) and when I want to select only 1 of the tongue me installs them all equally... I don't get it done and I don't understand where I'm wrong unfortunately, thanks always for everything bro and sorry if I'm wasting your time.

Cesar82 16-08-2021 13:21

Quote:

Originally Posted by XxAZAxX (Post 493669)
I tried bro, to try to clear 4 or 5 languages and lasciane active only 3 or 4 you'll see that the installer crashes, and here I could not tell you what the problem is when I inserted Task=2, etc, etc, etc) and when I want to select only 1 of the tongue me installs them all equally... I don't get it done and I don't understand where I'm wrong unfortunately, thanks always for everything bro and sorry if I'm wasting your time.

Sorry for that, it was a mistake on my part when assembling the code.
I will have to fix this in all scripts supported by DiskSpan GUI (Including DSG Extraction Tool).

FIX: Change in script the variable name from "StrLine" to "TmpStr" in line 4029.

It should look like this after changing it.
Code:

Delete(TmpStr, 1, Pos(Separator, TmpStr));
I didn't do tests to check if it is extracting the selected files correctly.
Please report it if it is not working properly.

KaktoR 16-08-2021 14:24

Quote:

Originally Posted by XxAZAxX (Post 493669)
I tried bro, to try to clear 4 or 5 languages and lasciane active only 3 or 4 you'll see that the installer crashes, and here I could not tell you what the problem is when I inserted Task=2, etc, etc, etc) and when I want to select only 1 of the tongue me installs them all equally... I don't get it done and I don't understand where I'm wrong unfortunately, thanks always for everything bro and sorry if I'm wasting your time.

https://i.imgur.com/vl6seJ9.pnghttps://i.imgur.com/XvtERW1.png

It works here (after apply the fix from Cesar above).

XxAZAxX 16-08-2021 14:32

Hi bro
 
3 Attachment(s)
Quote:

Originally Posted by Cesar82 (Post 493673)
Sorry for that, it was a mistake on my part when assembling the code.
I will have to fix this in all scripts supported by DiskSpan GUI (Including DSG Extraction Tool).

FIX: Change in script the variable name from "StrLine" to "TmpStr" in line 4029.

It should look like this after changing it.
Code:

Delete(TmpStr, 1, Pos(Separator, TmpStr));
I didn't do tests to check if it is extracting the selected files correctly.
Please report it if it is not working properly.

Hi Cesar82, There is no need to apologize indeed I always thank you for all the work you do!

However, the change you just proposed worked great and I can confirm that everything is now 100% working.

1 - There is no longer the problem of sudden crush or freeze installer.
2 - Now the installer extracts what I select.
3 - In the "Record.ini" file you released there is the wording:

Code:

[Record1]
Type = FreeArc_Original
Source = {src} \ Changelog.arc
Output = {app} \
Disk = 1.2
Size = 32.11 GB

in

Type = Freearc_Original
Source = {src} \ Changelog.arc
Output = {app} \
Disk = 1.2
Size = 32.11 GB

Where "Type = FreeArc_Original" is wrong for it to work I had to change to: "Type = Freearc_Original".

4 - In the "Settings.ini" file that you released there is the wording:

Code:

[TasksSettings]
Enable = 0
FlatPageMode = 0
ShowTaskSize = 1

Task1.Name = Language
Task1.ItemType = GROUP
Task1.Size = 0
Task1.Level = 0
Task1.Checked = 1
Task1.Enabled = 1

Task2.Name = cm: EN
Task2.ItemType = RADIO
Task2.Size = 500 mb
Task2.Level = 1
Task2.Checked = 1
Task2.Enabled = 1

The Italian Task is missing and the words "Task2.File = 1" under Task2.ItemType = RADIO / CHECK example:

Code:

Task2.Name = cm: EN
Task2.ItemType = RADIO
Task2.File = 1
Task2.Size = 500 mb
Task2.Level = 1
Task2.Checked = 1
Task2.Enabled = 1

For everything else I think it's all right, I hope I have been of help! and thanks again for all the work you do guys, and sorry for the time I stole from you! good summer to you too.

KaktoR 16-08-2021 14:58

As for the "Task2.File = 1" just delete it.

I forgot to remove this from Settings.ini

XxAZAxX 16-08-2021 15:24

Hi bro
 
Quote:

Originally Posted by KaktoR (Post 493676)
As for the "Task2.File = 1" just delete it.

I forgot to remove this from Settings.ini

So is this a superfluous code? that is, can it be eliminated without any problem? perfect Thanks again bro!

Cesar82 16-08-2021 15:52

Quote:

Originally Posted by XxAZAxX (Post 493675)
3 - In the "Record.ini" file you released there is the wording:

Code:

[Record1]
Type=FreeArc_Original
Source = {src}\Changelog.arc
Output = {app}\
Disk = 1.2
Size = 32.11 GB

in

Type = Freearc_Original
Source = {src}\Changelog.arc
Output = {app}\
Disk = 1.2
Size = 32.11 GB

Where "Type = FreeArc_Original" is wrong for it to work I had to change to: "Type = Freearc_Original".

It should work the same way.
Maybe there was some TAB character on the Type= line.
DiskSpan GUI generates records.ini with FreeArc_Original and other users always install games using FreeArc_Original without problems.
It is not case sensitive the type name, see that the script was used LowerCase that leaves everything in lowercase during the comparison.
Code:

function ConvertDataType(sType: String): Integer;
begin
  case Trim(LowerCase(sType)) of
    LowerCase('FreeArc_Original') : Result := ARC_SIMPLE;
    LowerCase('7-Zip_Original')  : Result := ZIP_SIMPLE;
    LowerCase('WinRAR_Original')  : Result := RAR_SIMPLE;
    LowerCase('FreeArc_Split')    : Result := ARC_MERGED;
    LowerCase('7-Zip_Split')      : Result := ZIP_MERGED;
    LowerCase('WinRAR_Split')    : Result := RAR_MERGED;
    LowerCase('Split')            : Result := SPLIT_PART;
    LowerCase('Delta')            : Result := DELTA_FILE;
  end;
end;

Quote:

Originally Posted by XxAZAxX (Post 493675)
For everything else I think it's all right, I hope I have been of help! and thanks again for all the work you do guys, and sorry for the time I stole from you! good summer to you too.

It's a cold winter here now! :confused:

Quote:

Originally Posted by XxAZAxX (Post 493677)
So is this a superfluous code? that is, can it be eliminated without any problem? perfect Thanks again bro!

It was supposed to be used to ignore the lines of group type items, but was discontinued before it became public.

L33THAK0R 28-08-2021 02:29

Is it possible to get ASIS to have an additional component "level"? For some packs I'm working on, I'm offering optional pre-modded configurations, where the components, in an ideal scenario would look something like:
Code:

|- Main Files
|- Selective videos
    |-> Lossless
    |-> Lossy
|- Modded Content
    |->Type X of Mod
        |->Offering A
        |->Offering B

But I can't seem to figure out which part(s) require tinkering to make this possible.

Cesar82 28-08-2021 07:21

Quote:

Originally Posted by L33THAK0R (Post 493789)
Is it possible to get ASIS to have an additional component "level"? For some packs I'm working on, I'm offering optional pre-modded configurations, where the components, in an ideal scenario would look something like:
Code:

|- Main Files
|- Selective videos
    |-> Lossless
    |-> Lossy
|- Modded Content
    |->Type X of Mod
        |->Offering A
        |->Offering B

But I can't seem to figure out which part(s) require tinkering to make this possible.

You must use Tasks to do this.
Use the key level to shift items to the right 15 pixels for each value 1 incremented in the key level.
LEVEL 0 = 0 PIXEL
LEVEL 1 = 15 PIXELS
LEVEL 2 = 30 PIXELS
ETC

KaktoR 28-08-2021 08:47

Quote:

Originally Posted by L33THAK0R (Post 493789)
Is it possible to get ASIS to have an additional component "level"? For some packs I'm working on, I'm offering optional pre-modded configurations, where the components, in an ideal scenario would look something like:
Code:

|- Main Files
|- Selective videos
    |-> Lossless
    |-> Lossy
|- Modded Content
    |->Type X of Mod
        |->Offering A
        |->Offering B

But I can't seem to figure out which part(s) require tinkering to make this possible.

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

Code:

[TasksSettings]
Enable=1
FlatPageMode=0
ShowTaskSize=1

Task1.Name=Main Files
Task1.ItemType=CHECKBOX
Task1.Size=500 mb
Task1.Level=0
Task1.Checked=1
Task1.Enabled=0

Task2.Name=Selective videos
Task2.ItemType=GROUP
Task2.Size=0
Task2.Level=0
Task2.Checked=1
Task2.Enabled=1

Task3.Name=Lossless
Task3.ItemType=RADIO
Task3.Size=600 mb
Task3.Level=1
Task3.Checked=1
Task3.Enabled=1

Task4.Name=Lossy
Task4.ItemType=RADIO
Task4.Size=300 mb
Task4.Level=1
Task4.Checked=0
Task4.Enabled=1

Task5.Name=Modded Content
Task5.ItemType=GROUP
Task5.Size=515 mb
Task5.Level=0
Task5.Checked=0
Task5.Enabled=1

Task6.Name=Type X of Mod
Task6.ItemType=GROUP
Task6.Size=0
Task6.Level=1
Task6.Checked=0
Task6.Enabled=1

Task7.Name=Offering A
Task7.ItemType=RADIO
Task7.Size=200 mb
Task7.Level=2
Task7.Checked=0
Task7.Enabled=1

Task8.Name=Offering B
Task8.ItemType=RADIO
Task8.Size=100 mb
Task8.Level=2
Task8.Checked=0
Task8.Enabled=1

You can replace RADIO with CHECKBOX if you give users the choice of installing "Offering A" + "Offering B" together.

Records.ini for the above example

Code:

[Record1]
Type=Freearc_Original
Source={src}\Main_Files.bin
Output={app}\
Disk=1
Size=500 MB
Task=1

[Record2]
Type=Freearc_Original
Source={src}\Lossless.bin
Output={app}\
Disk=1
Size=600 MB
Task=3

[Record3]
Type=Freearc_Original
Source={src}\Lossy.bin
Output={app}\
Disk=1
Size=300 MB
Task=4

[Record4]
Type=Freearc_Original
Source={src}\Offering_A.bin
Output={app}\
Disk=1
Size=200 MB
Task=7

[Record5]
Type=Freearc_Original
Source={src}\Offering_B.bin
Output={app}\
Disk=1
Size=100 MB
Task=8


Cesar82 28-08-2021 09:11

@L33THAK0R, if you use ASIS together with DiskSpan GUI the DiskSpan GUI 2.0+ settings in "Resources\DSG_Settings.ini" for the KaktoR example above (Part related tasks) will look like this.

Code:

[Game1Settings]
//... others game configs
Data1.Name=Main_Files-01.bin
Data1.Tasks=1
Data2.Name=Lossless-01.bin
Data2.Tasks=3
Data3.Name=Lossy-01.bin
Data3.Tasks=4
Data4.Name=Offering_A-01.bin
Data4.Tasks=7
Data5.Name=Offering_B-01.bin
Data5.Tasks=8


L33THAK0R 28-08-2021 09:24

@Cesar82 @KaktoR thank you so much for your time, however I think I've wasted your efforts (hopefully these instructions will be useful to future users), as I'm a stubborn bastard, still using v7.2.0 of the script, as such I'm not able to use "tasks" to accomplish my goal. However after looking through the script a bit, I think I've figured out the section(s) that I need to look at. Once again sorry to have bothered you lads, thank you for all the help you've given so far!

mr_gnar 30-08-2021 12:40

I am still having issues relating to the Start Menu part of the script.
https://i.ibb.co/zmB8nMR/image.png
This is just an example. Even when the option to not make one is checked, it still makes them when the installer is finished. Is there any way I can fix this, or at the very least remove the checkbox?

KaktoR 30-08-2021 13:14

1 Attachment(s)
Thanks for reporting.

Here is a fix for this

The problem was that all the icons were linked to desktop shortcut checkbox and the startmenu checkbox had literally no effect.

mr_gnar 01-09-2021 10:21

Quote:

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

Here is a fix for this

The problem was that all the icons were linked to desktop shortcut checkbox and the startmenu checkbox had literally no effect.

Thank you! The fix works fine on the latest version of ASIS. I do have another question though, is there anyway I can insert this fix into an older version of it, like 7.2.0? I use 7.3.1 and 7.2.0, and I flip-flop between versions for testing. 7.3.1's has too much added stuff compared to 7.2.0, so it's hard to see what line I would have to change to add this fix to 7.2.0.

KaktoR 02-09-2021 02:05

Unfortunatelly not supported anymore, because the system creating icons changed since then.

KaktoR 03-09-2021 05:09

I uploaded a hotfix for the "expression error" if you run the installer in compact mode and it finished.

Problem was that the installer tried to create startmenu shortcuts and failed, eventough this shouldn't be the case in compactmode (however the installation is done succesfull and desktop icons were created).

My previous fix for the shortcuts was just tested in normalmode, sorry for that :D

L33THAK0R 20-09-2021 03:22

UPDATE: Realised I might be able to do a bit of a botched fix using batch scripts, its a bit fucky but thankfully I don't repack collections structured like this often!

Hi all,

Got a small question regarding whether my proposed solution could work at all (I'm terribly new to pascal/delphi). I've got a fair few packs that feature selective, multiple-title offerings to the end-user, each with their own, separate executable to launch from (since some are emulated and require a small script to launch the ROM), as well as their own entry under the shortcut section of the "Settings.ini" file used in ASIS (baked into a executable thats just a batch script wrapped in an exe). My issue is that regardless of the component selection, upon extraction of all selected archives, all desktop shortcuts defined within the "settings.ini" are generated (should the option be selected).

My current thought process is using the "RemoveShortcut" function, in the Post-install section of the script to delete the shortcut, if a given .txt file is missing (which would be packed with a given selective offering), like so:

Code:

   
#if ("{app}\_CommonRedist\APPS\APP_1.txt" == "0") && ("{userdesktop}\APP_1.lnk" == "1")
 #for {i = 1; Trim(ReadIni(SourcePath + "\Settings.ini", "Executable" + Str(i), "ShortcutName", "")) != ""} RemoveShortcut
#endif
#if ("{app}\_CommonRedist\APPS\APP_2.txt" == "0") && ("{userdesktop}\APP_2.lnk" == "1")
 #for {i = 2; Trim(ReadIni(SourcePath + "\Settings.ini", "Executable" + Str(i), "ShortcutName", "")) != ""} RemoveShortcut
#endif

However upon testing this both shortcuts were removed even when installing only one of the selected components. Does anyone have any idea why this might be?


All times are GMT -7. The time now is 10:57.

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