Normally it should be the same as the icon. It's just a file you add to the control file compressed as a ZIP, point to the local file that needs to be replaced (and of course an optional condition for that file to be updated, such as newsize) and the component should handle the rest.
Not sure what your application is doing with the DLL but perhaps it's a good idea to unload it before updating it.
Yes, simply don't set any condition for them.
That's possible but you need to do it yourself. You can specify your own prefix in the control file and implement the OnConvertPrefix event where you can check if a prefix is your custom prefix and replace it with the path you need.