DefVar  $reboot$
Set     $reboot$ = "false"

if ($sereby_dotnet4.6$ = "reinstall")
    Winbatch_dotnet4.6_uninstall
    opsiservicecall_dotnet4.6_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_dotnet4.6$ = "uninstall")
    Winbatch_dotnet4.6_uninstall
    opsiservicecall_dotnet4.6_uninstall
    Set $reboot$ = "true"
endif

; a reboot is requred after the .net cleanup so that further uninstalls can work
if ($reboot$ = "true")
    comment "uninstall done now force Reboot"
    ExitWindows /ImmediateReboot
endif

if ($sereby_msjsharp$ = "reinstall")
    DosInAnIcon_msjsharp_uninstall
    opsiservicecall_msjsharp_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_msjsharp$ = "uninstall")
    DosInAnIcon_msjsharp_uninstall
    opsiservicecall_msjsharp_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_msfsharp$ = "reinstall")
    DosInAnIcon_msfsharp_uninstall
    opsiservicecall_msfsharp_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_msfsharp$ = "uninstall")
    DosInAnIcon_msfsharp_uninstall
    opsiservicecall_msfsharp_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_silver$ = "reinstall")
    DosInAnIcon_silver_uninstall
    opsiservicecall_silver_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_silver$ = "uninstall")
    DosInAnIcon_silver_uninstall
    opsiservicecall_silver_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_jre8$ = "reinstall")
    DosInAnIcon_jre8_uninstall
    opsiservicecall_jre8_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_jre8$ = "uninstall")
    DosInAnIcon_jre8_uninstall
    opsiservicecall_jre8_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_jre9$ = "reinstall")
    DosInAnIcon_jre9_uninstall
    opsiservicecall_jre9_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_jre9$ = "uninstall")
    DosInAnIcon_jre9_uninstall
    opsiservicecall_jre9_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeShock$ = "reinstall")
    DosInAnIcon_AdobeShock_uninstall
    opsiservicecall_AdobeShock_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeShock$ = "uninstall")
    DosInAnIcon_AdobeShock_uninstall
    opsiservicecall_AdobeShock_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_basicruntimes$ = "reinstall")
    DosInAnIcon_basicruntimes_uninstall
    opsiservicecall_basicruntimes_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_basicruntimes$ = "uninstall")
    DosInAnIcon_basicruntimes_uninstall
    opsiservicecall_basicruntimes_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_msdx9$ = "reinstall")
    DosInAnIcon_msdx9_uninstall
    opsiservicecall_msdx9_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_msdx9$ = "uninstall")
    DosInAnIcon_msdx9_uninstall
    opsiservicecall_msdx9_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_msvc$ = "reinstall")
    DosInAnIcon_msvc_uninstall
    opsiservicecall_msvc_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_msvc$ = "uninstall")
    DosInAnIcon_msvc_uninstall
    opsiservicecall_msvc_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeFlash$ = "reinstall")
    DosInAnIcon_AdobeFlash_uninstall
    opsiservicecall_AdobeFlash_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeFlash$ = "uninstall")
    DosInAnIcon_AdobeFlash_uninstall
    opsiservicecall_AdobeFlash_uninstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeAir$ = "reinstall")
    DosInAnIcon_AdobeAir_uninstall
    opsiservicecall_AdobeAir_reinstall
    Set $reboot$ = "true"
endif
if ($sereby_AdobeAir$ = "uninstall")
    DosInAnIcon_AdobeAir_uninstall
    opsiservicecall_AdobeAir_uninstall
    Set $reboot$ = "true"
endif

; and the final reboot after the uninstall is done
if ($reboot$ = "true")
    comment "uninstall done now force Reboot"
    ExitWindows /ImmediateReboot
endif

[Winbatch_dotnet4.6_uninstall]
%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 4.6 /u"

[opsiservicecall_dotnet4.6_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_dotnet4.6",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_dotnet4.6_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_dotnet4.6",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_msjsharp_uninstall]

[opsiservicecall_msjsharp_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msjsharp",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_msjsharp_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msjsharp",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_msfsharp_uninstall]

[opsiservicecall_msfsharp_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msfsharp",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_msfsharp_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msfsharp",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_silver_uninstall]
; wmic product where caption='Microsoft Silverlight' call uninstall
;"%ScriptPath%\UnInstall\Package\Silverlight\CleanSilverlight.cmd"
wmic /INTERACTIVE:OFF product where name="Microsoft Silverlight" call uninstall

[opsiservicecall_silver_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_silver",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_silver_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_silver",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_jre9_uninstall]
@echo off
rem copy "%ScriptPath%\UnInstall\Packages\JRE\JavaRa.*" "$LogDir$\"
rem $LogDir$\JavaRa.exe /SILENT /PURGE /UPDATEDEFS
cscript /nologo "%ScriptPath%\UnInstall\Packages\JRE\JavaUninstallScript.vbs" /keeponly

[DosInAnIcon_jre8_uninstall]
@echo off
rem copy "%ScriptPath%\UnInstall\Packages\JRE\JavaRa.*" "$LogDir$\"
rem $LogDir$\JavaRa.exe /SILENT /PURGE /UPDATEDEFS
cscript /nologo "%ScriptPath%\UnInstall\Packages\JRE\JavaUninstallScript.vbs" /keeponly

[opsiservicecall_jre9_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_jre9",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_jre9_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_jre9",
"none",
"%opsiserviceUser%"
]

[opsiservicecall_jre8_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_jre8",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_jre8_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_jre8",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_AdobeShock_uninstall]
"%ScriptPath%\UnInstall\Packages\Shockwave\uninstall_shock_player.exe" /s
wmic /INTERACTIVE:OFF product where name="Adobe Shockwave Player 12.1" call uninstall

[opsiservicecall_AdobeShock_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeshock",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_AdobeShock_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeshock",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_basicruntimes_uninstall]
wmic /INTERACTIVE:OFF product where name="Allgemeine Runtime Files (x86)" call uninstall

[opsiservicecall_basicruntimes_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_basicruntimes",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_basicruntimes_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_basicruntimes",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_msdx9_uninstall]

[opsiservicecall_msdx9_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msdx9",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_msdx9_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msdx9",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_msdxm_uninstall]

[opsiservicecall_msdxm_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msdxm",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_msdxm_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msdxm",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_msvc_uninstall]

[opsiservicecall_msvc_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msvc",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_msvc_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_msvc",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_AdobeFlash_uninstall]
"%ScriptPath%\UnInstall\Packages\Flash\uninstall_flash_player.exe" -uninstall
;"%ScriptPath%\UnInstall\Packages\Flash\uninstall_flash_player.exe" -uninstall activex
;"%ScriptPath%\UnInstall\Packages\Flash\uninstall_flash_player.exe" -uninstall plugin

[opsiservicecall_AdobeFlash_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeflash",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_AdobeFlash_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeflash",
"none",
"%opsiserviceUser%"
]

[DosInAnIcon_AdobeAir_uninstall]
wmic /INTERACTIVE:OFF product where name="Adobe AIR" call uninstall

[opsiservicecall_AdobeAir_reinstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeair",
"install",
"%opsiserviceUser%"
]

[opsiservicecall_AdobeAir_uninstall]
"method": "setProductProperty"
"params": [
"$ProductId$",
"sereby_adobeair",
"none",
"%opsiserviceUser%"
]

