[Tool] FGCBA - A tool to help pack makers v0.897
No you shouldn't, this would break compatibility with older programs although it does offer a small speedup in performance... Anyway, this isn't related to FGCBA or this thread at all...
FGCBA checks for 8.3 compliance for a reason which is maintaining compatibility with those who install from DOS or those who install over a network share (winnt32.exe / winnt.exe), so I have not (and will probably not) implemented a way to disable the warning for it.
FGCBA checks for 8.3 compliance for a reason which is maintaining compatibility with those who install from DOS or those who install over a network share (winnt32.exe / winnt.exe), so I have not (and will probably not) implemented a way to disable the warning for it.
- ricktendo64
- Posts: 3214
- Joined: Mon May 22, 2006 12:27 am
- Location: Honduras
Q: Would it be possible, if the INF is not installing items from a CAB file, to supress warnings about [SourceDisksNames.x86] even if (for some wacky reason) the addon in question is being inf installed and uses CopyFile=, [SourceDisksNames] and [DestinationDirs]?
Alot of the shellextension addons are an INF with regkeys and a single dll. While I can ignore the warning, it might be better to supress it and only us it if installation from INF requires acquiring the files from a CAB, this way people will actually know it's something to pay attention to, rather than ignore.
Alot of the shellextension addons are an INF with regkeys and a single dll. While I can ignore the warning, it might be better to supress it and only us it if installation from INF requires acquiring the files from a CAB, this way people will actually know it's something to pay attention to, rather than ignore.
@ricktendo64: Sorry looks like I miscomprehended your last post. Anyway the decision is not to check for 8.3 compliance on SVCPACK switchless installers.
@Zacam, Ok, no warnings about [SourceDisksNames.x86] will be displayed when [SourceDisksNames] exists and processing of this part will be skipped if CopyFiles directive does not exist.
@Zacam, Ok, no warnings about [SourceDisksNames.x86] will be displayed when [SourceDisksNames] exists and processing of this part will be skipped if CopyFiles directive does not exist.
Version 0.86 is now up 
I have implemented Zacam's suggestions and fixed the bug that Aserone reported (thanks both of you!)...
- FGCBA will not warn about missing [SourceDisksNames] and/or [SourceDisksNames.x86] section(s) if CopyFiles directive is not found, but it will be logged (/log:LogFile.txt).
- Fixed bug where LargeListDictionary was returning data without removing extra whitespaces.
* Known issues with this release (and they've been in all previous versions):
1. Removal addons will cause a fatal error because its entries.ini file only contains an ExtraFileEdits section and one or more [obsolete_*] sections....
Comment: I can't know if this is intentional or mistaken, so I assume mistaken.
However i DO check for the no. of poles before the error occurs.
2. I have discovered that the INF will install even if it doesn't have a [SourceDisksFiles] section, in such case Windows looks in the folder that contains the INF. It will also allow installation of INFs without a [DestinationDirs], in such case the Destination folder in %WinDir%\SYSTEM32.
Comment: These scenarios are not supported yet.
(They will be in the next version hopefully but need a major logic re-write.)
And as always, keep the feedback coming !

I have implemented Zacam's suggestions and fixed the bug that Aserone reported (thanks both of you!)...
- FGCBA will not warn about missing [SourceDisksNames] and/or [SourceDisksNames.x86] section(s) if CopyFiles directive is not found, but it will be logged (/log:LogFile.txt).
- Fixed bug where LargeListDictionary was returning data without removing extra whitespaces.
* Known issues with this release (and they've been in all previous versions):
1. Removal addons will cause a fatal error because its entries.ini file only contains an ExtraFileEdits section and one or more [obsolete_*] sections....
Comment: I can't know if this is intentional or mistaken, so I assume mistaken.
However i DO check for the no. of poles before the error occurs.
2. I have discovered that the INF will install even if it doesn't have a [SourceDisksFiles] section, in such case Windows looks in the folder that contains the INF. It will also allow installation of INFs without a [DestinationDirs], in such case the Destination folder in %WinDir%\SYSTEM32.
Comment: These scenarios are not supported yet.
(They will be in the next version hopefully but need a major logic re-write.)
And as always, keep the feedback coming !

- Hatefulsorrow
- Posts: 16
- Joined: Tue Jun 13, 2006 3:00 pm
- Location: South Lake Tahoe, CA
Version 0.89 beta
Version: 0.89 Beta
I've posted this new version as a beta first because of a whole lot of changes inside
(and because I may not be available for the next week to continue working on this)
- Download link:
http://rapidshare.de/files/24970987/FGCBA.ZIP.html
md5: E317B7E618242CE7AD42DD974587D45A
- Changelog:
1. Complete rewrite of ArgumentParser (v2) so it is now much smarter in handling command line parameters, now parameters can be in any order, so this: fgcba /build:New.7z "ENTRIES_Everest.INI" /log:.\New.txt will now work correctly.
2. Support for 7-zip format (but now depends on 7za.exe, FGCBA will check for it if an operation requires it) in addition to CAB format.
3. Fixed a bug in unassigned variable checking where '-' character wasn't recognized as a valid character in a variable name leading to unassigned variable errors.
4. Syntax checks for [HexEdit] / [FileCopy] / [FileMove] / [DirCopy] / [DirMove] / [FileDelete] / [DirDelete] / [RunFile]
5. Files specified in RunFile are automatically checked for existence and added to the addon archive (cab or 7z)
6. Argument Switch change: /CAB is now /BUILD
7. FGCBA will always assume the addon output archive is 7-zip unless the specified output file in /BUILD has a .CAB extension.
8. No warnings about missing [txtsetup_files] or [dosnet_files] will be displayed if the addon has a [HexEdit] section but they will still be checked if present.
- New Dependency: 7za.exe from 7-Zip.
- Dependency location: http://www.7-zip.org
- Next beta: (or final
)
1. Support ZIP and RAR
2. Automatic output archive name generation by examining the title and version keys of the [general] section in the entries.ini file.
Phew, integrator enhancements coming in too fast...
Enjoy
Keep the feedback coming
I've tested with a lot of addons without problems, but if anyone has problems please report here
I've posted this new version as a beta first because of a whole lot of changes inside

- Download link:
http://rapidshare.de/files/24970987/FGCBA.ZIP.html
md5: E317B7E618242CE7AD42DD974587D45A
- Changelog:
1. Complete rewrite of ArgumentParser (v2) so it is now much smarter in handling command line parameters, now parameters can be in any order, so this: fgcba /build:New.7z "ENTRIES_Everest.INI" /log:.\New.txt will now work correctly.
2. Support for 7-zip format (but now depends on 7za.exe, FGCBA will check for it if an operation requires it) in addition to CAB format.
3. Fixed a bug in unassigned variable checking where '-' character wasn't recognized as a valid character in a variable name leading to unassigned variable errors.
4. Syntax checks for [HexEdit] / [FileCopy] / [FileMove] / [DirCopy] / [DirMove] / [FileDelete] / [DirDelete] / [RunFile]
5. Files specified in RunFile are automatically checked for existence and added to the addon archive (cab or 7z)
6. Argument Switch change: /CAB is now /BUILD
7. FGCBA will always assume the addon output archive is 7-zip unless the specified output file in /BUILD has a .CAB extension.
8. No warnings about missing [txtsetup_files] or [dosnet_files] will be displayed if the addon has a [HexEdit] section but they will still be checked if present.
- New Dependency: 7za.exe from 7-Zip.
- Dependency location: http://www.7-zip.org
- Next beta: (or final

1. Support ZIP and RAR
2. Automatic output archive name generation by examining the title and version keys of the [general] section in the entries.ini file.
Phew, integrator enhancements coming in too fast...

Enjoy


I've tested with a lot of addons without problems, but if anyone has problems please report here

Last edited by n7Epsilon on Tue Jul 04, 2006 10:18 pm, edited 1 time in total.
New beta test: 0.892
- Download link: http://rapidshare.de/files/26690949/FGCBA.ZIP.html
- md5: 28EE67E7DC61A29649951DAB6F108B22
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Keep the feedback coming
Please report any bugs so I can fix them
.
- Download link: http://rapidshare.de/files/26690949/FGCBA.ZIP.html
- md5: 28EE67E7DC61A29649951DAB6F108B22
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Keep the feedback coming


New beta test: 0.893
- Download link: http://rapidshare.de/files/27218743/FGCBA.ZIP.html
- md5: C9014C02EE248427322CE848A3EF4BBA
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Keep the feedback coming
.
- Download link: http://rapidshare.de/files/27218743/FGCBA.ZIP.html
- md5: C9014C02EE248427322CE848A3EF4BBA
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Keep the feedback coming

New beta test: 0.894
- Download link: http://rapidshare.de/files/28112900/FGCBA.ZIP.html
- md5: AFC21EE855B662768F02E8D4D48F2B8E
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Please report any issues that you may encounter
.
- Download link: http://rapidshare.de/files/28112900/FGCBA.ZIP.html
- md5: AFC21EE855B662768F02E8D4D48F2B8E
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
Please report any issues that you may encounter

- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
something like this??
?
Or you can download me whole collection from here:
http://www.wpiw.net/downloads/icons.rar
Just be warned it is 135 megs in size...
Or you can download me whole collection from here:
http://www.wpiw.net/downloads/icons.rar
Just be warned it is 135 megs in size...
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
I found a minor issue in this inf file I have a uninstall section that refers to the section "CopyRegShot" and this section is also refered to in the install sections. Now this inf works fine like it is and is pretty clean but the FGCBA tells me there is 6 errors because the copyfile section refers to these 6 files twice.
Download it here = www.wpiw.net/downloads/UberPack.rar
Download it here = www.wpiw.net/downloads/UberPack.rar
Actually, this:
Warnings are more like informational text or maybe like be careful about this... or just letting you know...etc., for legit entries that might be mistakes, but FGCBA will continue normally despite them.
btw, you are getting these warnings because there are 2 [DestinationDirs] sections in which CopyRegshot is defined twice, so it is getting processed twice and the file refcount table indicates referencing the files contained in this section more than once, hence these warnings.
Errors, are somethings that are definitely broken and hence should be fixed, though....
is what's making it stop.FGCBA wrote: !- 1 error(s):
- Section [RegShotLNK] referenced in [DestinationDirs]
does not exist in UberPack.inf!
!- 1 error(s).
Warnings are more like informational text or maybe like be careful about this... or just letting you know...etc., for legit entries that might be mistakes, but FGCBA will continue normally despite them.
btw, you are getting these warnings because there are 2 [DestinationDirs] sections in which CopyRegshot is defined twice, so it is getting processed twice and the file refcount table indicates referencing the files contained in this section more than once, hence these warnings.
Errors, are somethings that are definitely broken and hence should be fixed, though....
- Kelsenellenelvian
- Moderator
- Posts: 4383
- Joined: Tue Nov 30, 2004 8:32 pm
- Location: Pocatello, ID
- Contact:
New beta test: 0.895
- Download link: http://d.turboupload.com/de/945690/fsk6tnpw2t (no more rapidshare)
- md5: B1508DF4D29C35C6940D25B9132467D2
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
If you have any problems / feature suggestions / comments don't hesitate to post your feedback
.
Next version will be final if no major issues are found.
(What I wish for is a 100% correct, fully explained authoritative txtsetup.sif syntax explanation, btw, I can't seem to access http://gosh.msfnhosting.com/)
- Download link: http://d.turboupload.com/de/945690/fsk6tnpw2t (no more rapidshare)
- md5: B1508DF4D29C35C6940D25B9132467D2
- Changelog: http://siginet.ryanvm.net/forum/viewtopic.php?p=135#135
If you have any problems / feature suggestions / comments don't hesitate to post your feedback

Next version will be final if no major issues are found.
(What I wish for is a 100% correct, fully explained authoritative txtsetup.sif syntax explanation, btw, I can't seem to access http://gosh.msfnhosting.com/)
There are some syntax styles I cannot understand, like for example these in txtsetup.sif:
What do all the extra commas and numbers mean ?
There's nowhere I've searched that has a complete explanation for it.
The reason is that I want FGCBA to very deeply inspect the txtsetup syntax, the current regex i am using:
on every line is my "best guess" from what I could understand from gosh's site and all resources I could find.
I want to improve it so that it can be very reliable. But I have no reliable complete source of information.
For some of the drivers.usbport.sys = 100,,,,,,4_,4,1,3,,1,4
ndistapi.sys = 1,,,,,,,4,0,0,,1,4
What do all the extra commas and numbers mean ?
There's nowhere I've searched that has a complete explanation for it.
The reason is that I want FGCBA to very deeply inspect the txtsetup syntax, the current regex i am using:
Code: Select all
\A(?!;)(?<ShortName>[^;]*)\s*=\s*\d+,,,,,,(?<DoNotCompressOrSourceDisksNamesEntry>(_x)?|_?\d+_?),(?<Location>\d*),[0-3],(0|,?,?[1-3]),?(?<LongName>[^;]*)\z
I want to improve it so that it can be very reliable. But I have no reliable complete source of information.
Released v0.896
, sorry for late release but been caught up last few weeks in sickness + school + real life ... etc.
Sorry for so many betas, I am waiting until I can write a C++ context menu handler (ED: I'm too n00b at C++ for this, going with registry entries + C# GUI instead) for this and for Reg2Inf and I will release final 0.90 and the new Reg2Inf which will support almost all formats and some enhancements.
Anyway, download link and changelog link are in the 1st post.
If you find any issues, please do not hesitate to report them
.

Sorry for so many betas, I am waiting until I can write a C++ context menu handler (ED: I'm too n00b at C++ for this, going with registry entries + C# GUI instead) for this and for Reg2Inf and I will release final 0.90 and the new Reg2Inf which will support almost all formats and some enhancements.
Anyway, download link and changelog link are in the 1st post.
If you find any issues, please do not hesitate to report them

Last edited by n7Epsilon on Sun Oct 15, 2006 12:18 pm, edited 1 time in total.
I'm designing a UI for the context handler (which may evolve into a full-fledged GUI rewrite in the future!), if you have any opinions about the handler, you can post them in this thread at Siginet's forum.
Hope you like it! (below is a mockup of the current UI in progress...),
I will be creating something for Reg2Inf to replace Reg2InfHandler.cmd
Edit: see my next post...
Hope you like it! (below is a mockup of the current UI in progress...),
I will be creating something for Reg2Inf to replace Reg2InfHandler.cmd
Edit: see my next post...
Last edited by n7Epsilon on Sun Oct 15, 2006 12:19 pm, edited 2 times in total.
- ricktendo64
- Posts: 3214
- Joined: Mon May 22, 2006 12:27 am
- Location: Honduras
Look here
: http://siginet.ryanvm.net/forum/viewtopic.php?t=77
Of course, expect more releases to come
.

Of course, expect more releases to come

Released Handler v0.02 with more user-friendly enhancements.
EDIT: forgot to say, released v0.03 too...
http://siginet.ryanvm.net/forum/viewtopic.php?t=77
EDIT: forgot to say, released v0.03 too...
http://siginet.ryanvm.net/forum/viewtopic.php?t=77
Released v0.897 with bug fixes, and enhancements.
Download link should be in 1st post, link to changelog also there.
I will soon be updating the manual page at fgcba.xable.net to reflect all the changes in the current versions.
If you find any issues do not hesitate to post in this thread or in the forum
Download link should be in 1st post, link to changelog also there.
I will soon be updating the manual page at fgcba.xable.net to reflect all the changes in the current versions.
If you find any issues do not hesitate to post in this thread or in the forum

That's because FGCBA resaves the entries.ini file in ASCII format after processing it.
The reason for this behaviour is the following:
While nLite can read / write Unicode entries.ini correctly, the integrator can't read Unicode correctly (AutoIt limitation) (so it has the Unicode to ANSI conversion in its Advanced Options), so I made FGCBA make the entries.ini file Integrator-compatible.
However, i will add a command line option in the next version (/nosave) that will prevent FGCBA from resaving the entries.ini when it is processed.
The reason for this behaviour is the following:
While nLite can read / write Unicode entries.ini correctly, the integrator can't read Unicode correctly (AutoIt limitation) (so it has the Unicode to ANSI conversion in its Advanced Options), so I made FGCBA make the entries.ini file Integrator-compatible.
However, i will add a command line option in the next version (/nosave) that will prevent FGCBA from resaving the entries.ini when it is processed.
- ricktendo64
- Posts: 3214
- Joined: Mon May 22, 2006 12:27 am
- Location: Honduras
Small Request for the next FGCBA
Have it ignore/recognize Copy and DelFiles Flags example in my Notepad++ AddOn I use this flag to delete a sometimes "In-Use" Shell Extention DLL on next reboot

If the DLL is currently in use then it will promt to restart and this will get added to the registry to get executed during next boot
Flags & Values
Have it ignore/recognize Copy and DelFiles Flags example in my Notepad++ AddOn I use this flag to delete a sometimes "In-Use" Shell Extention DLL on next reboot
Code: Select all
nppcm.dll,,,1

If the DLL is currently in use then it will promt to restart and this will get added to the registry to get executed during next boot
Code: Select all
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","PendingFileRenameOperations",0x10000,"\??\%16422%\Notepad++\nppcm.dll"
1 On CopyFiles: Warn if user tries to skip file.
1 On DelFiles: If file is in use, queue up delayed delete in wininit.ini. Otherwise an in-use file will not be deleted.
2 Setup Critical: don't allow user to skip file.
4 Ignore version check and always copy file. This will overwrite a newer file.
8 Force Rename (trick engine into thinking that file is in use). Note: Only happens if file already exists on target.
16 If file already exists on target, don't copy.
32 Suppress version conflict dialog and don't overwrite newer files.
You can find more Info about the INF flags in this INF Guide (you might find the INF DOC pretty usefull, it has allot of info on INF)destination-file1-name(, source-file1-name)(, temporary-file1-name)(,flag)
- ricktendo64
- Posts: 3214
- Joined: Mon May 22, 2006 12:27 am
- Location: Honduras
I have another Reguest similar to the Copy/DeleteFiles flags above to be added to the next FGCBA (no hurry just posting it here in case you decide to update)
Here are some Register/UnregisterDLLs INF methods if you please can you add them?
Awesome app could not live without it
Thanks
Here are some Register/UnregisterDLLs INF methods if you please can you add them?
Code: Select all
RegisterDLLs=Method.One,Method.Two
[Method.One]
16422,%SubDir%,Executable.exe,,,"/RegServer" ;or "/UnRegServer"
11,,msiexec.exe,,,"/RegServer /q"
[Method.Two]
11,,regsvr32.exe,,,"/s %16422%\%SubDir%\Library.dll"

@ricktendo64, I have implemented checking the flags for CopyFiles/DelFiles, but I need more information about the others... (yes, I have resumed work on this utility)
1st: I need a link to an addon that demonstrates these new features (Notepad++ addon link is broken)
2nd: Which of these new feature require AdvancedInf directive in [Version] (yes I have to check that too).
3rd: For the RegisterDLLs / RegisterOCXs a question:
- The INF documentation on MSDN says flags is a 1 or 0, but the Inf guide says I or N (Is this for AdvancedINF only or for setupapi.dll as well ?)
- MSDN says flag must be specified to specify, but in Method 2 you are not specifying any flags ? (Is this for AdvancedINF only for for setupapi.dll as well ?)
1st: I need a link to an addon that demonstrates these new features (Notepad++ addon link is broken)
2nd: Which of these new feature require AdvancedInf directive in [Version] (yes I have to check that too).
3rd: For the RegisterDLLs / RegisterOCXs a question:
- The INF documentation on MSDN says flags is a 1 or 0, but the Inf guide says I or N (Is this for AdvancedINF only or for setupapi.dll as well ?)
- MSDN says flag must be specified to specify, but in Method 2 you are not specifying any flags ? (Is this for AdvancedINF only for for setupapi.dll as well ?)