我有一个 WPF (Clickonce) 应用程序。我想找出哪些用户正在安装或重新安装该应用程序,并可能将这些信息写入数据库以供审核。
我该怎么做?
当前的 ClickOnce 部署不提供任何用于监控的服务器端挂钩(事实上,ClickOnce 发布生成的“网站”只是一个非常简单的纯 HTML 页面,提供用于下载和执行 .application 的链接/按钮或 setup.exe,分别在客户端机器上。其他一切都在本地进行)。
现在,根据您要记录的内容(初始安装或更新,或两者),您有以下选项:
如果您的目标是 .NET 4,您可以将日志文件转到特定文件夹。然后,当用户运行该应用程序时,您可以让它复制到您的服务器并删除它,或者将它写入数据库并删除它。这里有一篇文章解释了如何指定将来自 ClickOnce 部署的日志放在何处。请注意,它会在您安装、更新或卸载应用程序时运行。
注册表设置在 HKCU 中,因此您可以让您的 C/O 应用程序在首次安装时实际设置信息。您会错过第一个安装日志,但之后它会将日志写入磁盘。