Since the SysInternals Licensing issue (and removal of SysInternals tools packs

I have called it FGCBA (File Gatherer and Cab Builder for AddOns) for now, it is coded in 100% C# (including the INI parser) and runs completely using RegExp !!


This is my first ever program to be released to public.
Last beta: 0.897
Main Link:
http://epsilon.nlitened.org/fgcba/FGCBA_0897.zip
md5: 76348B5128BBCF4E3F34F42672E15704
Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Detailed Information: http://epsilon.nlitened.org/fgcba/
Features:
+ Create complete AddOn file from entries.ini and dependant file(s) with autorenaming of filenames according to the INI (and INF) entries.
+ Enhanced error checking with 2 levels of warnings (fatal and non-fatal) including checking for errors in external INF file.
+ Checking of [DefaultInstall] and [Optional Components] directives to make sure there are no orphaned entries.
+ Testing of AddOn CABs.
Changelog: (0.86):
- Native support for Switchless installer addon packs.
- No more unnecessary warnings in switchless installer addon packs and packs that to do not have a CopyFiles directive in their external INF.
- Tiny fix to make sure that extra whitespace isn't considered when reading [dosnet_files] / [txtsetup_files] or any other sections.
- Small enhancement to the logger.
- Now checks both [SourceDisksNames] and [SourceDisksNames.x86] for CAB assignments (WARNING: Overlapping CAB numbers are NOT allowed and will cause a fatal error.)
Changelog: (0.851):
fixed: Fixed regression from LargeListDictionary using obsolete method to do a case-insensitive compare resulting in case-sensitive section matches.
enhancement: Variables in AddReg / DelReg are checked if they are environment variables to prevent unnecessary warnings (eg: Unassigned Variable: %SystemRoot%, Check Whatever.inf)
Changelog: (0.85):
fixed: CabArc.exe detection was not working (typo)
fixed: Do not strip extra \r\n's from comments before 1st section in INF / INI file.
fixed: No longer messing up of section ordering if INI/INF contained more than 10 sections (.NET HybridDictionary behaviour).
fixed: i386 folder is now correctly added recursively into the AddOn CAB including any subfolders. (However, I can't get CabArc.exe to add Empty folders into the CAB no matter what I do...)
updated: Reg2Inf engine to 0.25 (without experimental /RepVars support)
Changelog: (0.811):
Fixed: Logger was not working even when /log was specified with first parameter as the External INF
Fixed: Stupid bug in a new reverse non-copy file section long name lookup feature, 2 liner fix.
Changelog: (0.81):
Fixed: Could not match section if any whitespace was present on same line as [SectionName]
Fixed: SimpleINIEditor would sometimes stop parsing a section's data if it reached a comment.
Fixed: Bug in ArrayList.BinarySearch caused reference mismatches.
Changelog: (0.80):
COMPLETE: Complete rewrite of SimpleINIEditor.cs (v3)
COMPLETE: Syntax checks for AddReg / DelReg
COMPLETE: Syntax checks for ExtraFileEdits (check no. of poles) and make sure a number value is specified at the end of the line.
COMPLETE: Fixed a bug where in some cases special characters in section name would confuse SimpleINIEditor (fixed while rewriting)
COMPLETE: Support for launch with External INF as 1st parameter for pre-processing.
COMPLETE: Proper return of errorlevel values
COMPLETE: Complete switch to using only CabArc.exe (replace MakeCab.exe & Extract.exe) - Now only needs EXPAND.EXE and CABArc.exe, better code for checking their existence too !
COMPLETE: Code cleanup, Enhancements to logger.
COMPLETE: Check unassigned variables
FIXED BUG: In case of double-directives (double AddReg= statement (eg: RVMUpPck.inf)), only the 1st instance is processed. - implement ref counts inside SimpleINIEditor
FIXED BUG: Fixed uncompressing compressed External INF was broken (Regex One Liner Fix) (, RegexOptions.IgnoreCase).
FIXED BUG: DestDirs - referenced section does not check RenameDictionary for possible renaming operations if the section contains a file previously referenced and has a rename operation set (situation occurs in uninstallable INFs)
FIXED BUG: You could specify a non-existant section in the CopyFiles directive and FGCBA would not regard this as an error.
FIXED BUG: FGCBA was not detecting invalid syntax in [dosnet_files] section.
Credits to:
- RyanVM for his awesome work.
- odyn1982 for testing and suggesting new features which led me to learn INF files.
- Aserone/Foxy for reporting bugs.
- Xable for kindly hosting FGCBA.
- Siginet for the nice forum