Dass du den Schlüssel erstellst, wenn er nicht existiert, ist klar, das hast du ja so programmiert.
Du forderst für dein Programm also immer Administratorrechte an?
Weil nur dann kannst du einigermaßen sicher sein, dass du Zugriff auf den Schlüssel hast.