卸载时自定义操作(clickonce) - 在.NET中

Sam*_*eet 10 .net clickonce custom-action uninstall

对于使用ClickOnce安装的.NET应用程序,有没有办法在卸载过程中运行自定义操作.

具体来说,我需要删除一些应用程序相关文件(我在第一次运行时创建)并在卸载过程中调用Web服务.

有任何想法吗?

Esp*_*spo 3

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"
Run Code Online (Sandbox Code Playgroud)

在这里找到)