Download
(8 Kb)
Download
Updated: 05/28/20 09:29 AM
Pictures
File Info
Compatibility:
Greymoor (6.0.5)
Harrowstorm (5.3.5)
Dragonhold (5.2.5)
Scalebreaker (5.1.5)
Elsweyr (5.0.5)
Updated:05/28/20 09:29 AM
Created:09/20/19 03:13 PM
Monthly downloads:33
Total downloads:3,847
Favorites:8
MD5:
Delete Redundant Libs
Version: 3
by: Micke2nd [More]
Problem: A few addons still deployed with embedded public lib files, instead of only inform about their dependencies. This can lead to version conflicts and outdated files, if the author doesnt keep his package up to date.

Solution: To have these libraries maintained by Minion, this tool deletes the copies, to keep only the version in the addons root folder. It's possible that touched addons dont work anymore after this cleanup, but this can easily be undone via "reinstall" in Minion.

Execute either DeleteRedundantLibs.exe or DeleteRedundantLibs.ps1 (Powershell), they do exactly the same. The powershell script gives you the option to see/change what code is executed, the *.exe file is the 1-click version.
#3
- investigates now also subfolders "lib"
- lists now also suspicious folders. They are ignored, but possibly should be moved to the addon root folder,
where they can be maintained by minion

#2
better description in which folder tool is searching
updating variable OptionalDependsOn in *.txt file, with the deleted libs (if not already listed)

#1
init
Optional Files (0)


Archived Files (2)
File Name
Version
Size
Uploader
Date
2
6kB
Micke2nd
09/24/19 01:21 PM
1
5kB
Micke2nd
09/20/19 03:13 PM


Post A Reply Comment Options
Unread 05/30/20, 04:24 AM  
Micke2nd
AddOn Author - Click to view AddOns

Forum posts: 43
File comments: 76
Uploads: 1
Originally Posted by Rothry
Thanks for your great effort.
Could you exclude LibCustomTitles?
Had to re-integrate it in many folders because it is often customized by AddOn developers...
Hi Rothry,
the quickest solution is to replace the following line and use the * .ps1 file to run from then on.
In file Program.cs replace line 165
Code:
if (addons.Contains(lib.Name.ToLower()))
with
Code:
if (addons.Contains(lib.Name.ToLower()) && !new List<string> { "LibCustomTitles" }.Contains( lib.Name))
if you wanna add more excludes, that's the how to:
Code:
if (addons.Contains(lib.Name.ToLower()) && !new List<string> { "ignoreFolder1", "ignoreFolder2", "and so on" }.Contains( lib.Name))
If more people ask for that, I'll implement a more common solution
Last edited by Micke2nd : 05/31/20 at 05:05 AM.
Report comment to moderator  
Reply With Quote
Unread 05/29/20, 03:28 PM  
Rothry

Forum posts: 1
File comments: 126
Uploads: 0
Thanks for your great effort.
Could you exclude LibCustomTitles?
Had to re-integrate it in many folders because it is often customized by AddOn developers...
Report comment to moderator  
Reply With Quote
Unread 09/24/19, 01:29 PM  
Micke2nd
AddOn Author - Click to view AddOns

Forum posts: 43
File comments: 76
Uploads: 1
currently the new version is in the queue to be verified, but

Originally Posted by Baertram
Code:
## OptionalDependsOn: Library1 Library2
implemented as ## DependsOn.

Originally Posted by Shadowshire
It is not clear:
  1. whether the program did not find any redundant libraries, or
  2. whether it could not find itself because the actual path to the executable is C:\Users\AccountName\Documents\Elder Scrolls Online\live\Utilities\DeleteRedundantLibs
So, which one of those two outcomes happened?
changed the output to in what folder the tool is searching
Last edited by Micke2nd : 05/28/20 at 01:30 PM.
Report comment to moderator  
Reply With Quote
Unread 09/22/19, 06:19 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
I agree with you the author should maintain this but if your tool is deleting the libs and is not making the addon be dependent on it anymore (as direct calls to the lib files in the addon's txt is not creating any dependency in the ingame addon manager) it most likely will just break the addon.

So at least adding/changing an exisitng line and add to the end of would be needed, or your tool got just a 25% chance to make things better (depending on how and when the authors included the libs in their code):
Code:
## OptionalDependsOn: Library1 Library2
Originally Posted by Micke2nd
"If you do not add the removed libraries to the ## OptionalDependsOn: or ## DependsOn:"
These should be maintained by the Author, independently where the libs are placed ... but i'll think about
Last edited by Baertram : 09/22/19 at 06:20 AM.
Report comment to moderator  
Reply With Quote
Unread 09/21/19, 10:59 PM  
Shadowshire

Forum posts: 1
File comments: 402
Uploads: 0
Question Ouput Message

When I run the executable, a command-line window is displayed, with the following lines:
Code:
running in C:\Users\AccountName\Documents\Elder Scrolls Online\live\Utilities
Didn't found redundant libs.
Press any key to exit>\
It is not clear:
  1. whether the program did not find any redundant libraries, or
  2. whether it could not find itself because the actual path to the executable is C:\Users\AccountName\Documents\Elder Scrolls Online\live\Utilities\DeleteRedundantLibs
So, which one of those two outcomes happened?
Report comment to moderator  
Reply With Quote
Unread 09/21/19, 04:08 PM  
Micke2nd
AddOn Author - Click to view AddOns

Forum posts: 43
File comments: 76
Uploads: 1
Hi Baertram,
thank you for the feedback !

"does your tool only delete the folders?" - yes.
"you need to check the txt file ... as well to remove the call" ... no. The call calls a not existing file, and therefore doesnt harm anything.

"If you do not add the removed libraries to the ## OptionalDependsOn: or ## DependsOn:"
These should be maintained by the Author, independently where the libs are placed ... but i'll think about
Last edited by Micke2nd : 09/21/19 at 05:17 PM.
Report comment to moderator  
Reply With Quote
Unread 09/21/19, 09:01 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
Hey there,

does your tool only delete the folders?
Because if you got a bundled library and delete it from the subfolders you need to check the txt file of that addon as well to remove the call to the subfolder library as well.
It may "silently fail" if the addon manager tries to load the entries in the txt files and they are missing.

But what it will not do:
If you do not add the removed libraries to the ## OptionalDependsOn: or ## DependsOn: tag of the addon where you have removed the libraries, you do not assure that the libs are loaded for these addons and the addons may fail to work at all afterwards.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: