Ich stand vor der Problematik, dass ich für ein Oracle Client 12.2 Softwarepaket ein Uninstall implementieren musste.
Oracle hat hierzu eine Möglichkeit mittels Response Datei vergessenen. Ich wollte aber vermeiden, eine statische Response Datei im Paket zu hinterlegen, sondern ich wollte es dynamisch gestalten.
Ich habe diesbezüglich folgende Lösung per PowerShell erstellt, die die Response Datei für das deinstallieren dynamisch zur Laufzeit erstellt und verwende, hier der entsprechende PowerShell Schnipsel.
# Remove old rsp files in temp folder
Get-ChildItem -Path "$env:Temp" -Filter "deinstall_OraClient12Home1_32bit.rsp" -Recurse -Depth 2 | Remove-Item
# Generate new deinstall rsp file via "-checkonly"
& "$env:SystemDrive\Oracle\Client32bitFull\product\12.2.0\client_1\deinstall\deinstall.bat -silent -checkonly"
# Get the new rsp file in temp folder
$RspFile = Get-ChildItem -Path "$env:Temp" -Filter "deinstall_OraClient12Home1_32bit.rsp" -Recurse -Depth 2
# Deinstall via rsp file
& "$env:SystemDrive\Oracle\Client32bitFull\product\12.2.0\client_1\deinstall\deinstall.bat -silent -paramfile `"$($RspFile.FullName)`""