Thanks, mind showing me an example, on how to use the  win_reg_stat with 
register variable?

On Saturday, February 12, 2022 at 10:01:55 PM UTC-6 Oleg Galushko wrote:

> hm. try to use win_reg_stat with register variable to determine what 
> version your need is installed/not installed 
> https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#use-registry-editor
> and wrap all other installation tasks with block and when condition
>
> пятница, 4 февраля 2022 г. в 01:09:06 UTC+3, Nitrous: 
>
>>
>> Thanks.
>>
>> I have a pretask before installing, where it copies files to the target 
>> server, and then run your idempotent way.
>>
>> How can I do a check, before copying the .net 4.8 exe, if 4.8 exists, and 
>> only run the copy/install if .net 4.8 isnt installed/exists.
>>
>> If it exists, then skip.
>>
>> Thanks
>> On Friday, January 21, 2022 at 2:51:09 PM UTC-6 [email protected] 
>> wrote:
>>
>>> Use idempotent way. It will be installed if it has not already been 
>>> installed
>>>
>>>         -   ansible.windows.win_package:
>>>             path: 'c:\path\to\ndp48-x86-x64-allos-enu.exe'
>>>             product_id: "{BAAF5851-0759-422D-A1E9-90061B597188}"
>>>             arguments: "/q /norestart"
>>>
>>> среда, 19 января 2022 г. в 21:33:41 UTC+3, Nitrous: 
>>>
>>>> This is what I get:
>>>>
>>>> TASK [net481 : Check if .net 4.8 is installed] 
>>>> **************************************************************************************************************************************************************************
>>>> task path: /etc/ansible/roles/net481/tasks/main.yml:1
>>>> [WARNING]: conditional statements should not include jinja2 templating 
>>>> delimiters such as {{ }} or {% %}. Found: '4.8' in {{ script_run }}
>>>> fatal: [xxxxx]: FAILED! => {
>>>>     "msg": "The conditional check ''4.8' in {{ script_run }}' failed. 
>>>> The error was: error while evaluating conditional ('4.8' in {{ script_run 
>>>> }}): 'script_run' is undefined\n\nThe error appears to be in 
>>>> '/etc/ansible/roles/net481/tasks/main.yml': line 1, column 3, but may\nbe 
>>>> elsewhere in the file depending on the exact syntax problem.\n\nThe 
>>>> offending line appears to be:\n\n\n- name: Check if .net 4.8 is 
>>>> installed\n 
>>>>  ^ here\n"
>>>> }
>>>>
>>>> Role is this:
>>>>
>>>> - import_role:
>>>>       name: net481
>>>>     when: "'4.8' in {{ script_run }}"
>>>>
>>>> Task Ran:
>>>>
>>>> - name: Check if .net 4.8 is installed
>>>>   ansible.windows.win_shell:
>>>>     (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework 
>>>> Setup\NDP\v4\Full").version -lt 4.8
>>>>   register: script_run  - name: Install .net 4.8, if not installed
>>>>   ansible.builtin.script: 
>>>> /etc/ansible/roles/onprembaseline/files/net48.ps1
>>>>   register: script_run
>>>>
>>>> On Thursday, December 30, 2021 at 12:25:32 PM UTC-6 Niek wrote:
>>>>
>>>>> Probably check: 
>>>>> https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html
>>>>>
>>>>> Op donderdag 30 december 2021 om 19:24:36 UTC+1 schreef Niek:
>>>>>
>>>>>> Not a ansible hero here, but i think you can do something with the 
>>>>>> when: command in your playbook. 
>>>>>>
>>>>>> So somewhere in de the task where you check the version you will do a
>>>>>> register: dotnet_version
>>>>>>
>>>>>> And in the taks where you execute it: 
>>>>>> when: "'4.8' in {{ dotnet_version }}"
>>>>>>
>>>>>> Op woensdag 29 december 2021 om 17:57:20 UTC+1 schreef Nitrous:
>>>>>>
>>>>>>> anyone with ideas?
>>>>>>>
>>>>>>> On Tuesday, December 21, 2021 at 3:25:23 PM UTC-6 Nitrous wrote:
>>>>>>>
>>>>>>>> any suggestions?
>>>>>>>>
>>>>>>>> On Monday, December 20, 2021 at 9:09:51 AM UTC-6 Nitrous wrote:
>>>>>>>>
>>>>>>>>> How can I incorporate this registry check before my playbook runs 
>>>>>>>>> to install .net 4.8:
>>>>>>>>>
>>>>>>>>> (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework 
>>>>>>>>> Setup\NDP\v4\Full").version -lt 4.8
>>>>>>>>>
>>>>>>>>> The above should only run my playbook, if 4.8 isnt installed. If 
>>>>>>>>> version is less than 4.8 run the below playbook, else skip
>>>>>>>>>
>>>>>>>>> My playbook to install .net 4.8:
>>>>>>>>> - name: Copy .net 4.8 Files
>>>>>>>>>   ansible.windows.win_copy:
>>>>>>>>>
>>>>>>>>>     src: /etc/ansible/roles/net481/files/ndp48-x86-x64-allos-enu.exe
>>>>>>>>>     dest: C:\Scripts\
>>>>>>>>>     state: present
>>>>>>>>>
>>>>>>>>> - name: Install .net 4.8
>>>>>>>>>
>>>>>>>>>   ansible.builtin.script: 
>>>>>>>>> /etc/ansible/roles/onprembaseline/files/net48.ps1
>>>>>>>>>   register: script_run
>>>>>>>>>
>>>>>>>>> - name: Reboot after .NET 4.8 Install
>>>>>>>>>   ansible.windows.win_reboot:
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/86401a66-10cf-42eb-af8b-4e897594bdden%40googlegroups.com.

Reply via email to