Hi Dimitri,
A couple of things:
First, please try out the new win_updates module
here (and +1 the PR if it works for you) - the way you're kicking off the Windows updates asynchronously can fail in all sorts of interesting ways.
Second, while the approach you're using will work, it can also mask other failures. I'm guessing you don't really care if the services are running or not, merely that they're installed, and if so, they should be stopped. The win_service module (and most Ansible modules) are designed to enforce a desired state, not just blindly run commands, so that part's already taken care of. To just skip the task if not installed, I'd suggest something like:
register: lyris_hint
failed_when: lyris_hint.rc not in [0,1060] # 1060 == Service not installed
- name: stop services
service: name={{ item }} state=stopped
with_items: ["ListManager", "LyrisAlert"]
when: lyris_hint.rc == 0 # ie, the ListManager service is installed
This way, if it fails for some other reason than the service not being installed, your playbook will break instead of masking the failure.
Good luck!
-Matt