Невозможно сделать это с помощью самого ClickOnce, но вы можете создать стандартный загрузчик Setup.exe, который устанавливает приложение ClickOnce и имеет настраиваемое действие удаления.
Обратите внимание, что это, однако, создает две записи в программах установки и удаления, поэтому вам необходимо скрыть одну из записей (приложение clickonce).
Ваша последняя проблема будет в том, что на clickonce нет опции «тихая деинсталляция», поэтому вы можете сделать что-то вроде этого:
On Error Resume Next
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "taskkill /f /im [your app process name]*"
objShell.Run "[your app uninstall key]"
Do Until Success = True
Success = objShell.AppActivate("[your window title]")
Wscript.Sleep 200
Loop
objShell.SendKeys "OK"
(найдено здесь )