Если библиотека должна использовать реестр, вы ничего не можете с этим поделать, кроме как зарегистрировать значения. Если бы вы могли изменить DLL, чтобы получить эту информацию из файла конфигурации, было бы идеальным решением.
Вы можете сделать это в SF, правильный способ сделать это - использовать параметр SetupEntryPoint в ServiceManifest для выполнения этих задач управления, а из манифеста приложения вы можете установить политики, чтобы указать, какой пользователь должен запускать эти политики. это описано здесь с более подробной информацией
Основная проблема, возникающая на SF при таком подходе, заключается в том, что ваше приложение может перемещаться по кластеру, и вам необходимо зарегистрировать его на каждом узле и, возможно, также удалить его, когда приложение больше там не работает, чтобы избежать мусора в реестр.