One solution is to have the vendor create a registry key either during installation or on-first-startup that points to the current app location. I know it's not pretty but it's a solid method to ensure you can locate the app and updates don't leave you pointing to a non-existent app.
I use this method with my click-once deployment to point to both the app directory and the data directory.
Just thought of another optoin... Could you get the dll directly from the deployment point? My click-once deployment point has the .application file along with all the assemblies. The problem here is that you need to know the latest version to find the correct assembly.
Good luck.