Resource icon

Other [Utility] VAMUpdater - Always Use the Latest Addons!

I noticed there was a "VamUpdater.pdb" in my installation folder, so got curious & tried having a look at the "Vam_Updater.dll" with ILSpy - this is what I get:



Wasn't Vam_Updater supposed to run with Net 5.0? (Ok, I'm using VS2022, could simply be that - I have no idea what I'm doing, I'm just a little ape punching buttons).

And "Windows 7.0"?

---

Question: How would I go about figuring out which compression library Vam_Updater is using? I'm seeing



Is that the "the thingy"? Where do I have to poke & what does the thingy I'm poking for look like?
as an update: good find btw. Ill look that component up, but Ive built a workaround with a zip repair component that is extremely slow but seems to get the job done. Ive written a fixer app that will do two things:
1: go through the var with my normal zip component that cant see past those issues, and each file inside that is newer than the lastwritetime on the file itself, is changed back to 1 minute earlier than that datetime. Also it will reset the file create and last write dates as they were when it altered the file. This fixes, for me, the annoyance of that scene popping up as newer than it is on scene browser just because the var fixed it. If in the process of this, it encounters a file length error, it will:
2: do a repair (unbearably long running process depending on file size with a component I found that can fix them) on the file and then retry altering dates and move on. To counter the long running process it will run a configurable number of threads and work all files in order of lowest size first.
I was wrong on the counts of my files by a long shot. If enough people are interested, I may make this varfixer available for free. I have noticed that since I have started having it fix my files, more of them are visible with my other tools including varmanager which will remove the old versions that become unreferenced as the vamupdater alters their versions. I was missing all the benefit of this tool updating versions since the tool that removed old files couldnt see any files updated without being fixed. My main tool that i use to set up a folder will find all dependencies not in an installation and copy them to a depends folder in the path and recent files configurable by how many days back. Not sure Ill make that one available but the var fixer, likely.
Send me a message to vote for releasing it. If enough are interested, Ill clean it up and post it.
 
Last edited:
as an update: good find btw. Ill look that component up, but Ive built a workaround with a zip repair component that is extremely slow but seems to get the job done. Ive written a fixer app that will do two things:
1: go through the var with my normal zip component that cant see past those issues, and each file inside that is newer than the lastwritetime on the file itself, is changed back to 1 minute earlier than that datetime. Also it will reset the file create and last write dates as they were when it altered the file. This fixes, for me, the annoyance of that scene popping up as newer than it is on scene browser just because the var fixed it. If in the process of this, it encounters a file length error, it will:
2: do a repair (unbearably long running process depending on file size with a component I found that can fix them) on the file and then retry altering dates and move on. To counter the long running process it will run a configurable number of threads and work all files in order of lowest size first.
I was wrong on the counts of my files by a long shot. If enough people are interested, I may make this varfixer available for free. I have noticed that since I have started having it fix my files, more of them are visible with my other tools including varmanager which will remove the old versions that become unreferenced as the vamupdater alters their versions. I was missing all the benefit of this tool updating versions since the tool that removed old files couldnt see any files updated without being fixed. My main tool that i use to set up a folder will find all dependencies not in an installation and copy them to a depends folder in the path and recent files configurable by how many days back. Not sure Ill make that one available but the var fixer, likely.
Send me a message to vote for releasing it. If enough are interested, Ill clean it up and post it.

I only ran VAMUpdater once & it didn't alter my actual .vars (I use feelfar's varmanger (not (!) BillPrime's varmanager on the Hub!), which softlinks .vars from an external repo rather than moving the actual .vars, so when VAMUpdater tried to alter the softlinked .vars, it created local copies in the target folder instead. Which feelfar's tool hoovered up the next time I ran it & discarded as duplicates without my noticing, I guess - I only have some unzipped backups left, and the corresponding .vars in my repo have different timestamp).

TL;DR - Nothing to fix on my end. Really sorry you have such a mess to clean up on your install - but thanks A LOT for calling in the problem. You've saved me a lot of headache.
 
Last edited:
as an update: good find btw. Ill look that component up.

Yeah, I have my moments of approximate lucidity, but poking at a .dll with ILSpy & stumbling over the first thing that says "Zip" is pretty much the extent of my coding "skills". Don't think Venkman is going to fix that in a hurry - last login is from September '22. Shame really - pretty good idea.

Any chance you might be able to reverse-engineer VAMUpdater to get it to use a different compression library?

I've "seen" a similar issue once in a related project - a combined deduper & softlinker. One of its features was a certain type of bulk-edit of the meta.json, so it opened every .var, edited the meta.json & rezipped it (along with a backup of the original). Later on, I noticed that feelfar's varmanager flagged the affected .vars as corrupt - and 7-zip agreed. Iirc, the issue was also a couple bytes in the header - one library thought it was fine, two others disagreed.

Don't recall all the details but if you think it might help, I could dig out the convo I had with the dev when we noticed the problem - maybe we're lucky and his fix is applicable to VAMUpdater too?
 
Last edited:
I'm just doing it with the winrar gui but you could just write a bat script that incorporates Venkman's existing bat files with some cmd commands for winrar.
 
I'm just doing it with the winrar gui but you could just write a bat script that incorporates Venkman's existing bat files with some cmd commands for winrar.

Can't speak for @TechnoLazer - but would that method solve the problem of modified timestamps? (I took it that was their main concern?)
 
the modified timestamp is a checkbox in his app, so it could be turned off. However, since they have to be rebuilt in winrar and will then effectively be a brand new file the created and modified dates will be the current time. Unless the zip process is fixed in the native app its unavoidable.
 
I only ran VAMUpdater once & it didn't alter my actual .vars (I use feelfar's varmanger (not (!) BillPrime's varmanager on the Hub!), which softlinks .vars from an external repo rather than moving the actual .vars, so when VAMUpdater tried to alter the softlinked .vars, it created local copies in the target folder instead. Which feelfar's tool hoovered up the next time I ran it & discarded as duplicates without my noticing, I guess - I only have some unzipped backups left, and the corresponding .vars in my repo have different timestamp).

TL;DR - Nothing to fix on my end. Really sorry you have such a mess to clean up on your install - but thanks A LOT for calling in the problem. You've saved me a lot of headache.

Fortunately I don't have this problem with feelfar's var manager, huh?
 
Fortunately I don't have this problem with feelfar's var manager, huh?

Errrhno - feelfar's varmanager is no 'cure' for the issue discussed above. It's rather that I had used VAMUpdater only once, very briefly & the Varmanager "accidentally" acted as a kind of "filter".

Was that your question?
 
Hey guys, wanted to know if this plugin also scans Subfolders located inside the AddonPackages folder?

I have a couple of Subfolders for specific categories, it helps me navigate more efficiently to specific addons when I browse for them inside VAM. But I was wondering if this plugin would scan the .VAR files inside the Subfolders or if it would ignore those?

Thanks.
 
As far as I can tell it seems to ignore subfolders. I have folders for each creator and there are multiple versions of addons in each,
 
Back
Top Bottom