FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   FMXInno Chronicles: Installer Source Code Index / Repository (https://fileforums.com/showthread.php?t=106220)

BLACKFIRE69 18-06-2024 23:38

Quote:

Originally Posted by CrownRepack (Post 504834)
im slowly editing this installer to my liking and as i edit it i learn the coding as well. I created a music button by looking at other examples, and i can say i'm happy i made a working button for the first time :D


welcome to the club then... ;)

Jahan1373 19-06-2024 01:09

Help
 
Make a tutorial video for using this compressor: DiskSpan GUI
I didn't understand anything from the pictures, a video shows everything easily, thanks

CrownRepack 19-06-2024 08:17

Quote:

Originally Posted by BLACKFIRE69 (Post 504838)
welcome to the club then... ;)

Thank you for the warm welcome, salute and bows for you sir :)

Fak Eid 21-06-2024 03:34

9 Attachment(s)
Original Posts have been updated

Simple Installer Update
- FMXInno Updated to latest
- Implemented changes with FNewINI
- Implemented DSG compatibilty
- Implemented better error handling
- 2 AppExes supported, 2 Redist supported
- No Limit on Data file, just update it from Installer.ini
- Automation Tools upgraded
- Installer.ini can accept Yes/No (Non-case sensitive) values instead of boolean (0,1) for UseDSG parameter
- Removed some dependency and wrote custom logic for defining preprocessor values. Also, Removed 100 lines of reduntant code
- Upgraded UI based on latest FMXInno upgrades

Steam Limitless Update
- You can have limitless Redist, Additional Components and Languages without making any changes to Script. Just update Installer.ini. Tested with up till 50, to not abuse resources.
- Implemented ScrollBars for Redist, Components, Langauages section in case they are more than 8
- Implemented changes for space required when adding/removing components
- Bug fixed to terminate installation when required Data file is missing.
- Optimized and enhanced bulkified code.
- Installer.ini can accept Yes/No (Non-case sensitive) values instead of boolean (0,1) for UseDSG parameter
- Removed some dependency and wrote custom logic for defining preprocessor values

More upgrade will follow if @Blackfire69 could implement requested features

Unlocking Limitless Ability: Changes involved in Main.iss
- If you want to increase the AppExe, just make changes to the section in Img1 like:
Code:

//AppExe5
  Name: "{group}\{code:GetShortcutData|AppExe5|ShortcutName}"; Filename: "{app}\{code:GetShortcutData|AppExe5|PathName}"; Parameters: "{app}\{code:GetShortcutData|AppExe5|Parameters}"; Flags: createonlyiffileexists; Check: CreateStartMenuShortcuts
  Name: "{commondesktop}\{code:GetShortcutData|AppExe5|ShortcutName}"; Filename: "{app}\{code:GetShortcutData|AppExe5|PathName}"; Parameters: "{app}\{code:GetShortcutData|AppExe5|Parameters}"; Flags: createonlyiffileexists; Check: CreateDesktopShortcuts

and so on...

- If you want to increase the Redist, Component, Language counts, just increase the values mentioned in Img2:

Added Automation in attachment to import all your tools

CrownRepack 30-06-2024 11:19

Hi, in the Steam Limitless installer, i noticed something that i like, that is the animation of the game info, when the button is clicked, the game info expands downwards pushing the other tabs down too, anyone can help me with identifying which code is responsible for that, i want to implement it into my installer.

I tried copying the code of one of the animations and changing it according to my installer, the animation works, but then it doesnt push anything in its way downwards like in Steam Limitless installer. I can't figure it out. Thanks in advanced!

hitman797 30-06-2024 12:24

Quote:

Originally Posted by CrownRepack (Post 504938)
Hi, in the Steam Limitless installer, i noticed something that i like, that is the animation of the game info, when the button is clicked, the game info expands downwards pushing the other tabs down too, anyone can help me with identifying which code is responsible for that, i want to implement it into my installer.

I tried copying the code of one of the animations and changing it according to my installer, the animation works, but then it doesnt push anything in its way downwards like in Steam Limitless installer. I can't figure it out. Thanks in advanced!

Code:

    //About Game Button
    TObject(Button[2].GetObject): begin
      SectionContent[1].Visible(True);
      SectionContent[2].Visible(False);
      Button[3].Enabled(False);

      if GameInfoSection[1].GetHeight = 0 then begin
        AnimSection[1].SetValues(0, 150);
        TabAnim.SetValues(70, 230);
      end else if GameInfoSection[1].GetHeight = 150 then begin
        AnimSection[1].SetValues(150, 0);
        TabAnim.SetValues(230, 70);
        Button[3].Enabled(True);
      end;
      AnimSection[1].Enabled(True);
      TabAnim.Enabled(True);
    end;


BLACKFIRE69 08-07-2024 06:56

Avalon Installer
 
15 Attachment(s)

Quote:

Avalon Installer Lite

* The Avalon installer originally comes with FMXInno v1.0.0.3, showcasing the animations and UI capabilities of FMXInno.
* However, this is a ported/downgraded version to support FMXInno v1.0.0.2.
* Since some features are not available in v1.0.0.2, this is a 'Lite' version.
Code:

Script:  Avalon Installer Lite
Engine:  FMXInno v1.0.0.2 (by BLACKFIRE69)
Inspired: Avalon Installer (FMXInno v1.0.0.3)
Creator: BLACKFIRE69


> Some configurations:
1. Animations and UI

* If you're on a laptop and want to use high settings, make sure you aren't in 'Power saver' mode.
* It is not recommended to use in virtual machines.

Code:

[Personalization]
; [0 = Low][1 = Default][2 = High]
UIQuality=2

; [0 = None][1 = 2x][2 = 4x]
AntiAliasing=2

ShowHints=1

[Personalization\Overview]
EnableAlignPagesToLeftAnimation=1
EnableMouseEventAnimations=1

2. Background ImageType

* The Avalon installer supports built-in background image effects.

Code:

[Personalization]
; Background ImageType = -1 / 1..20,  (-1 == Original Image)
ImageType=4

3. Progress Bar

* Progress bars are fully customizable.

Code:

[Personalization\Progressbar]
TintColor1=$FFDA143B
TintColor2=$FFFDB5C4
OutlineColor=AlPalegoldenrod
OutlineThickness=1.0
BackColor=AlDarkslategray
BackOutlineColor=AlDimgray
BackOutlineThickness=2.0
BackHighlightColorSoftness=0.5
BackHighlightColorTransparency=0.5
DiskLabelBackColor=$FF203040

4. Message Boxes

* Message boxes also support built-in effects.

Code:

[Personalization\MessageForm]
; Background ImageType = 1..10
ImageType=4

5. Components and Redistributions

* You can use an unlimited number of Components/Redistributions.
* It will show the correct game size in the control panel according to the components you selected during the installation process.

https://i.ibb.co/87TS5zY/image.png https://i.ibb.co/KFx1xGC/1.png

Code:

[Personalization\Components]
ShowSize=0
TwoColumns=1

> All configurations:

Code:

[Game]
Name=Senua's Saga: Hellblade II
Version=1.0.0.0
Repacker=BLACKFIRE69

[Requirements]
CpuMHz=4000
GpuMB=6144
RamMB=16384
DiskMB=71680
; [11 = Win11], [10 = Win10], [81 = Win8.1], [8 = Win8], [7 = Win7]
OS=11

; -------------------------------------------------------------

[Personalization]
;ThemeColor=ClrLighterFMX(HTMLColorStrToFMXColor('#9D0C23'), 50)
ThemeColor=AlTomato
TintTransparency=0.5
TintColorTransparency=1.0
OutlineColor=ALRed
OutlineColorSoftness=0.45
OutlineColorTransparency=0.85

; Background ImageType = -1 / 1..20,  (-1 == Original Image)
ImageType=4

; [0 = Low][1 = Default][2 = High]
UIQuality=2

; [0 = None][1 = 2x][2 = 4x]
AntiAliasing=2

ShowHints=1
ShowEqualizer=1
TimerInterval=1000

[Personalization\Overview]
EnableAlignPagesToLeftAnimation=1
EnableMouseEventAnimations=1

[Personalization\Overview\WelcomePage]
TintTransparency=0.8
OutlineColor=ALOrangered
OutlineColorSoftness=0.4
OutlineColorTransparency=0.4
TitleOutlineColor=ALLemonchiffon
TitleFontColor=ALAliceblue
SubTitleFontColor=AlBurlywood

[Personalization\Overview\OtherPages]
TintTransparency=0.7
OutlineColor=AlTomato
OutlineColorSoftness=0.4
OutlineColorTransparency=0.4
TitleOutlineColor=ALLemonchiffon
TitleFontColor=ALAliceblue
SubTitleFontColor=AlBurlywood

[Personalization\Titlebar]
OutlineColor=ALRed
OutlineColorSoftness=0.4
OutlineColorTransparency=0.9

[Personalization\Button]
; Color=$FFDA143B
Color=ALRed
FontColor=AlAliceblue

[Personalization\Checkbox]
Color=FMXColorSetOpacity(AlTomato, 0.6)

[Personalization\Hints]
FontColor=ALBlack
OutlineColor=ALBlack
OutlineThickness=1.2

[Personalization\VolumeBar]
TintTransparency=0.5
OutlineColor=AlTomato
OutlineColorSoftness=0.2
OutlineColorTransparency=0.4

[Personalization\Components]
ShowSize=0
TwoColumns=1

[Personalization\Progressbar]
TintColor1=$FFDA143B
TintColor2=$FFFDB5C4
OutlineColor=AlPalegoldenrod
OutlineThickness=1.0
BackColor=AlDarkslategray
BackOutlineColor=AlDimgray
BackOutlineThickness=2.0
BackHighlightColorSoftness=0.5
BackHighlightColorTransparency=0.5
DiskLabelBackColor=$FF203040

[Personalization\MessageForm]
; Background ImageType = 1..10
ImageType=4

FontColorTitle=AlPapayawhip
FontColorDesc=AlHoneydew
ButtonColor=$FFE94B4B
ButtonFontColor=AlAliceblue

[Uninstaller]
; [0 = Default], [1 = Fluent-UI]
Type=1

; -------------------------------------------------------------

[Datas]
Password=123test123

[Datas\Data1]
File={src}\data1.bf
SizeMB=1245

[Datas\Data2]
File={src}\data2.bf
SizeMB=2356

[Datas\Data3]
File={src}\data3.bf
SizeMB=4578

; -------------------------------------------------------------

[Compos]
Desc=Selectable components.

[Compos\Compo1]
Name=English
File={src}\data-english.bf
SizeMB=1245

[Compos\Compo2]
Name=Russian
File={src}\data-russian.bf
SizeMB=2356

[Compos\Compo3]
Name=4K Textures
File={src}\data-hd_texture_pack.bf
SizeMB=4578

[Compos\Compo4]
Name=Multiplayer
File={src}\data-multiplayer.bf
SizeMB=5689

[Compos\Compo5]
Name=DLC
File={src}\data-dlc_pack.bf
SizeMB=1346

[Compos\Compo6]
Name=Extra Videos
File={src}\data-4k_videos.bf
SizeMB=4679

; -------------------------------------------------------------

[Redists]
Desc=Redistributions

[Redists\Redist1]
Name=Direct X
File={src}\Redists\dxsetup.exe
Args=/silent

[Redists\Redist2]
Name=Visual C++ 2015 x64
File={src}\Redists\vcsetup.exe
Args=/silent

[Redists\Redist3]
Name=Visual C++ 2019 x64
File={src}\Redists\vcsetup.exe
Args=/silent

[Redists\Redist4]
Name=Visual C++ 2022 x64
File={src}\Redists\vcsetup.exe
Args=/silent

; -------------------------------------------------------------

[Execs]
Desc=Desktop/Group Shortcuts of %s

[Execs\AppExe1]
Name=Fallout 4 Launcher
Exe=Fallout4.exe
Icon=Fallout4.exe
IconIdx=0
Args=--fullscreen
WorkingDir={app}\Bin

[Execs\AppExe2]
Name=Witcher 3 Launcher DirectX 10
Exe=Witcher3_DX10.exe
Icon=Witcher3_DX10.exe
IconIdx=0
Args=--fullscreen
WorkingDir={app}\Bin32

[Execs\AppExe3]             
Name=Fallout 4 Launcher DirectX 12
Exe=Witcher3_DX12.exe
Icon=Witcher3_DX12.exe
IconIdx=0
Args=--fullscreen
WorkingDir={app}\Bin32



.

Th3Raven 12-07-2024 17:33

Quote:

Originally Posted by audiofeel (Post 503600)
Froza Style
Adaptation - localization of the Java newstone script.
(Translated into Russian. Resizing of some objects, etc.).
The functionality is all in place.
Four pages, installation of additional software. Checking the location. Animation. Gaussian Blur.
Music. Everything scales perfectly by 200%.
Launch the game (after successful installation).
Restarting (itself) the installation after a failed installation.
Deleting the game (if there is a key in the registry) before starting the installation.
:)

Is it possible to add multiple app exe and components to the installer?

Th3Raven 13-07-2024 03:11

Thank you for quick reply and update.

The only thing i can't see, and maybe will be added later, is how to add more desktop icons. For example for game collections or if the game have config and game exe as well. Either way, thanks once again.

Th3Raven 14-07-2024 02:03

Quote:

Originally Posted by audiofeel (Post 505016)
The post has been updated

Thank you so much for updating it this fast. Tested the desktop shortcut by adding 3 more shortcuts to the list and is working perfectly. I assume that now we can add as many redist, components (DLC, languages ) and shortcuts as we need. Thanks once again. Simple to use and clean installer.

Th3Raven 19-07-2024 03:24

Sorry for disturbing again... I am just wondering if is possible, on the Froza installer, on the components to add a different install path... For example I have X game that install mods to the user docs folder and not in game directory...
The solution I use for now is to add it into files section of the script... is not elegant but will do for the moment.

hitman797 19-07-2024 03:59

Quote:

Originally Posted by Th3Raven (Post 505055)
Sorry for disturbing again... I am just wondering if is possible, on the Froza installer, on the components to add a different install path... For example I have X game that install mods to the user docs folder and not in game directory...
The solution I use for now is to add it into files section of the script... is not elegant but will do for the moment.

instead of {app} use {userdocs}
Code:

    #ifdef Data1
      if FileExists(ExpandConstant('{src}\{#Data1Path}')) then
      begin
        ISArcDiskAddingSuccess:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1Path}'), '{#DiskPassword}', ExpandConstant('{app}'));
        if not ISArcDiskAddingSuccess then
        break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
    #endif

Code:

    #ifdef Data1
      if FileExists(ExpandConstant('{src}\{#Data1Path}')) then
      begin
        ISArcDiskAddingSuccess:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1Path}'), '{#DiskPassword}', ExpandConstant('{userdocs}'));
        if not ISArcDiskAddingSuccess then
        break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
    #endif


Fak Eid 19-07-2024 12:41

Epic Games Installer
 
16 Attachment(s)
After working on Steam Limitless, this idea clicked my mind and ever since I've been working on it and always wanted to share. It's just I'm soo excited to share this piece of work with you all, well most of the code is reused from Steam Limitless. So, here is the stable version of my Epic Games Installer.

Please test it and feel free to report them back to me. Works best on 1080p 125% scale

Right now, you can have:
- Unlimited Redists
- DSG or Custom Tools support for extraction
- Promised Updates will be posted here in future

What's New:
- Different type of Files Verification
- Different type of Installation progress Bar and section.
- Custom created Font
- Custom created style file for all resolution support
- Custom Slideshow and Generic WebView file added

PS: Humble request to please not remove the watermark and link to my YT channel. This is going to be the final update of the installer. All updates included. Bug fixes will only happen if reported in future.

audiofeel 20-07-2024 22:45

reserved

demon964 21-07-2024 07:12

Quote:

Originally Posted by Fak Eid (Post 504819)
Into the new era of FMXInno with the latest FNewINI implementation. This installer is a beast in terms of Code Optimization and new features.

- Enable or disable the use of DSG depending on your choice (Thanks to @Cesar82 for making it DSG compatible)
- You can have as many AppExes (currently 4) and Data files
- You can have upto 50 Redist, 50 Additional Component and 50 Languages files each. Limited because I don't want anyone to abuse the resources but if you want to increase the capacity more, check here
- No need to make any changes to the script at all. The Installer.ini file inside the 'Game' folder supports everything, even Data, Redist, Component and Languages
- Play Page to directly play your game by selecting AppExe from installer
- Watch Game Trailer during installation.
- More Installer Upgrades

Benefits of the installer:
- Separate .iss to read the installer script.
- Code Optimized rendering of SidePanel component and Tab
- Code Optimized rendering of Redist, Component and Language creation
- Code Optimized for Shortcut Creation
- Code Optimized for Data, Component and Language file decompression
- Code Optimized for Post Install Redist Installation
- Script is independent of changes in number of max Data, Redist or additional component count. You can have as many as UI can support
- Better Error Handling
- Fixed a bug where missing Data File still proceeded with Installation.
- Variant of style.bin for FCheckbox (Thanks to @AgentV)

Check out the Automate folder for:
- MD5 verification of your files
- Automatically creating the .iss for importing list of Tools
- Automatically creating the .iss for extracting required tools during decompression

What is DSG (DiskSpan) compatibility?
The infamous DiskSpan compressor has been made compatible with this installer. Whether or not your compression was done using DSG, you can still extract your Data Files by:
Copying the Setup.dll in the Unpack > Decomp_DSG Folder

In case you don't know the compression method, open your Data#.bin with FreeArc and go to "INFO" > "Solid Blocks" tab to know exactly the name of the methods used.
Within the "Setup DLL" tab of the DSG, access the "Maker" sub-tab and paste the methods one on each line. Example:
Code:

xtool:mzlib+srep+lolz
xtool:bk2
xtool:mkraken:core_2.9.2

You can uncheck the split and diskspan checkboxes at the bottom of the window and click Create to create the Setup.dll file.
More Info DiskSpan GUI

PS: User also has an option to choose if they want to extract using their tools or DSG. In case they opt to choose their tools, they can put their files inside Unpack > Decomp_Custom > Tools.
And run, Automate > Create Tools List.bat and Create Tools Init.bat

This installer will have more upgrade if these pending requests are fulfilled.

Hi. Can you add function for search game folder and regedit. If game already installed, delete files

You can check from this project


All times are GMT -7. The time now is 13:18.

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