How to change an icon for one single file of the specific type?
You can use an IconHandler to allow icons to be customized on a file-by-file basis. Note that shell extensions should not be written in managed code, so C++ is the language of choice here.
Note also that it's highly unusual to be installing an icon handler for another application's file type.