安装 WPF App 时记录安装程序信息

问题描述 投票:0回答:2

我有一个 WPF (Clickonce) 应用程序。我想找出哪些用户正在安装或重新安装该应用程序,并可能将这些信息写入数据库以供审核。

我该怎么做?

wpf clickonce
2个回答
1
投票

当前的 ClickOnce 部署不提供任何用于监控的服务器端挂钩(事实上,ClickOnce 发布生成的“网站”只是一个非常简单的纯 HTML 页面,提供用于下载和执行 .application 的链接/按钮或 setup.exe,分别在客户端机器上。其他一切都在本地进行)。

现在,根据您要记录的内容(初始安装或更新,或两者),您有以下选项:

  • 创建您自己的网站,用户将在该网站上注册,然后才能访问应用程序的安装/启动(或者您可能只是通过 IP 来识别它们——取决于您的需要)——这允许您记录谁首先安装了应用程序,但不是自动更新。
  • 在您的应用程序中,只要您的应用程序运行,就可以使用 System.Deployment 命名空间(特别是 ApplicationDeployment)中的类来访问有关更新等的信息。然后,您可以让您的应用程序调用您提供的 Web 服务,您可以在其中记录任何安装/启动操作(或什至其他运行时信息,如某些功能的使用、异常等)。

0
投票

如果您的目标是 .NET 4,您可以将日志文件转到特定文件夹。然后,当用户运行该应用程序时,您可以让它复制到您的服务器并删除它,或者将它写入数据库并删除它。这里有一篇文章解释了如何指定将来自 ClickOnce 部署的日志放在何处。请注意,它会在您安装、更新或卸载应用程序时运行。

注册表设置在 HKCU 中,因此您可以让您的 C/O 应用程序在首次安装时实际设置信息。您会错过第一个安装日志,但之后它会将日志写入磁盘。

© www.soinside.com 2019 - 2024. All rights reserved.