Replies: 2 comments 8 replies
-
Could this approach also be built into a separate small executable which you run as a "pre-install" script as part of the installer. That way you could share this approach inside the auto updater and the installer. Correct me if I'm wrong but this sort of looks like a denylist that would be appended with plugins that are known to be broken. My question regarding that is that how do you know prior to releasing what plugins has to go on the denylist? I assume there's some testing but could you instead host this file |
Beta Was this translation helpful? Give feedback.
-
Would it be worth also cleaning up secondary files? Some plugins come with dependencies that aren't in the main DLL, and in some cases may be worth removing too. |
Beta Was this translation helpful? Give feedback.
-
OBS 26.1 has again shown an issue we've had experienced a few times before, where an update to OBS or its dependencies breaks older plugins and leads to failures that are not visible to users (silent crashes, etc.) and with no immediately obvious cause. Since OBS does not have any plugin manager we're currently limited to communicating this to users through changelogs and support requests. However a number of users is not aware of those warnings and will run into an issue where OBS simply appears to be no longer functional after updating.
Going forward it may therefore be a good idea to have an option to delete files as part of the update process that are known to cause issues or are simply not needed anymore. Of course users should be informed of that in case it affects their setup (e.g. plugins) but it should also be able to happen silently in cases where the users awareness is not required (e.g. old x264/libav DLLs).
One idea I've had to handle this is the ability of the update manifest to specify a list of files that should be deleted as part of the update. These entries would optionally contain a list of hashes of known bad versions and only delete those, rather than any file matching the specified path.
For example, entries could look like this:
When the updater process starts the installed files would be checked against this list, if there are any matches that are not marked as "silent" the user would be informed in a prompt that those files will be deleted when continuing and also be given the specfieid reason why.
An example warning could look like this (imagine a WinForms dialog):
This idea is mainly for the built-in updater, so unfortunately a different setup would have to be created for the installer. I'm not familiar enough with how that works unfortunately.
Beta Was this translation helpful? Give feedback.
All reactions