Hello,
I believe our Non-LTSR updates (starting with 21.7.0.44) Are already doing what you are suggesting:
<lar:And>
<bar:RegValueExists Subkey="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CitrixOnlinePluginPackWeb" Key="HKEY_LOCAL_MACHINE" Value="DisplayVersion" RegType32="true" />
<bar:RegSz Comparison="Contains" Data="Workspace" Value="DisplayName" Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CitrixOnlinePluginPackWeb" RegType32="true" />
<bar:RegSzToVersion Subkey="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CitrixOnlinePluginPackWeb" Value="DisplayVersion" Comparison="LessThan" Data="21.7.0.44" Key="HKEY_LOCAL_MACHINE" RegType32="true" />
<bar:WindowsVersion Comparison="GreaterThan" MajorVersion="6" MinorVersion="1" ProductType="1" />
<lar:Not>
<lar:Or>
<lar:And>
<bar:RegValueExists Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Citrix\ICA Client\AutoUpdate\Commandline Policy" Value="LTSROnly" RegType32="true" />
<bar:RegSz Comparison="EqualTo" Data="true" Value="LTSROnly" Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Citrix\ICA Client\AutoUpdate\Commandline Policy" RegType32="true" />
</lar:And>
<lar:And>
<bar:RegValueExists Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Policies\Citrix\ICA Client\AutoUpdate" Value="LTSROnly" RegType32="true" />
<bar:RegSz Comparison="EqualTo" Data="true" Value="LTSROnly" Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Policies\Citrix\ICA Client\AutoUpdate" RegType32="true" />
</lar:And>
</lar:Or>
</lar:Not>
</lar:And>
Currently, for NON-LTSR to be applicable the following conditions must be met:
Registry key "CitrixOnlinePluginPackWeb\DisplayVersion" exists and is less than 21.7.0.44
Registry key "CitrixOnlinePluginPackWeb\DisplayName" exists and contains "Workspace"
Windows Version > 6.1
NOT
(OR
(Registry key Commandline Policy\LTSROnly exists AND = true)
(Registry key AutoUpdate\LTSROnly exists and =true)
)
I went ahead and made truth table for the second part to make sure the logic was sound.
X = ! ( ( a && b ) || ( c && d ) )
Cmdln exists (a) | Cmdln eq True (b) | AutoUpdate exists (c) | AutoUpdate eq true (d) | Applicable (X) |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 0 |
Looking at this, the only times the NON-LTSR update would be applicable are:
- no registry keys are set
- AutoUpdate\LTSROnly exists and is set to false
- CommandLine Policy\LTSROnly exists and is set to false
- CommandLine Policy\LTSROnly and AutoUpdate\LTSROnly both exists and both are set to false
Otherwise, the LTSR version is applicable (either the install flag was set or the GPO is set).
From what I understand from your explanation, I believe this is the behavior you are looking to have for this application. Please let me know if I am misunderstanding.