Make self-update more robust with error handling and showing errors to
the user.