FileNameWithPath must be the full on-disk path to the icon, which is constructed in code from a relative path the user enters as (eg) a property/etc. To help with debugging, this path can be provided as ExternalRelativePath, and it will be printed out instead of the absolute path as part of the log error message.