Makar8000 / ACT-Discord-Triggers

An ACT plugin for routing audio to discord
50 stars 14 forks source link

New beta uses DLL files in base folder when they exist in both base and DiscordTriggers folders #29

Closed natebundy closed 5 years ago

natebundy commented 6 years ago

I installed the new beta and with initial testing call-outs seem to be working. However, if the old Discord.Net DLL files are in the base ACT directory, the plug-in will crash when attempting to connect a bot to a discord server. My issue is that I have no clue which DLL files were needed for ACT and the FFXIV plugin. I remember when installing Discord Triggers the first time that I ended up having to overwrite at least a couple of the DLLs that were already in the ACT folder (although I think I had SlimDX installed at the time, so it could have been DLLs for that as opposed to base ACT/FFXIV), and if newer versions exist in the new DiscordTriggers folder, I'm not sure if they're being used as opposed to the ones in the base ACT folder. If it wasn't for the overwriting of DLLs during installation I would just nuke all of the DLLs from the previous Discord Triggers release, but I'm not sure if that's safe to do.

Removing all of the Discord.Net DLLs and WebSocket4Net.dll was enough to let the bot connect to the server and call triggers, but I'm concerned other issues may crop up. Perhaps it would be better, if possible, to force the plug-in to search for DLLs in the DiscordTriggers folder first and then search the base folder after, or is this something ACT does automatically and you have no control over? With a base install, this probably isn't too much of an issue, but for people using many plug-ins, if any of those use different versions of the same libraries, it may start causing some nasty conflicts if those plug-ins put them in the base ACT folder and then ACT Discord Triggers ends up using those instead of the ones in the DiscordTriggers folder.

Makar8000 commented 6 years ago

The four DLL files that are specific to ACT (files you should not delete)

You can delete all your other .dll files unless its a different plugin you are using, such as triggernometry. Another way to go about doing this is to check the .dll files in the new folder, and if they exist in you root folder you can delete them. The overwriting you remember from your first installation was a mistake on my end.

I may be wrong, but I don't believe it is possible to force the ACT plugin to load assemblies externally first. ACT will by default look in its working directory (root of the ACT folder), and if it doesn't find the dependencies, it will trigger the assembly resolve event (which loads dlls from the new folder where the plugin is located).

Buttys commented 6 years ago

In this case it might be easier to just do a fresh install, i would recommend backing up your ACT config folder located in "%appdata%\Advanced Combat Tracker" this way you don't lose all your settings and triggers.