solve, automate, speed up

Template

Uninstall application by name, only 32-bit application, UninstallString with double quotes, /SILENT switch

native exe, static registry key under native hive, needs to kill process before uninstall

Detect if noone is logged on, then restart computer

native exe, UninstallString without quotes, application is hosted under native registry hive

x64 x86 exe, dynamic registry key, UninstallString with quotes,
32-bit version can be used on 64-bit windows

x86 exe, static registry key, UninstallString with quotes calls another process

x64 x86 msi, dynamic registry key, msiexec uninstall

only x86 exe, static registry key, UninstallString with quotes

x64 x86 exe, static registry key, UninstallString without quotes, 64-bit app under 32-bit registry hive

native exe, dynamic registry key, msiexec uninstall

only x86 msi, dynamic registry key, msiexec uninstall

Find out if script is launched locally, not from UNC path

List 32-bit application uninstall value, find by app name