Question: can you save syanna and dettlaff?
Answer: You cannot get a perfect happy ending, at least one of them always dies. It is possible to avoid killing Dettlaff and making Regis an outcast among vampires by not giving the ribbon to Syanna when you have the chance to do that, but then Syanna is killed by Dettlaff and Geralt ends up (temporarily) in prison.