安装WPF应用程序时记录安装程序信息

1aaf6o9v  于 2023-04-22  发布在  其他
关注(0)|答案(2)|浏览(129)

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

mpgws1up

mpgws1up1#

当前的ClickOnce部署不提供任何用于监视的服务器端钩子(事实上,ClickOnce发布生成的“网站”只是一个非常简单的纯HTML页面,提供了一个链接/按钮,用于在客户端计算机上分别下载和执行.application或setup.exe。其他一切都在本地进行)。
现在,根据您要记录的内容(初始安装或更新,或两者),您有以下选项:

  • 创建您自己的网站,用户将在获得应用程序的安装/启动之前注册(或者您可以通过IP识别他们-取决于您的需求)-这允许您记录谁首先安装应用程序,但不是自动更新。
  • 在您的应用程序中,使用System.Deployment命名空间(特别是ApplicationDeployment)中的类来访问有关更新等的信息。每当您的应用程序运行时,您可以让您的应用程序调用您提供的Web服务,在那里您可以记录任何安装/启动操作(甚至其他运行时信息,如某些功能的使用,异常等)。
ldxq2e6h

ldxq2e6h2#

如果您的目标是.NET 4,则可以将日志文件转到特定文件夹。然后,当用户运行应用程序时,可以将其复制到服务器并将其删除,或者将其写入数据库并将其删除。下面的文章解释了如何指定将ClickOnce部署中的日志放在何处。请注意,它将在安装、更新或卸载应用程序时运行。
注册表设置在HKCU中,所以你可以让你的C/O应用在第一次安装时设置信息。你会错过第一次安装日志,但之后它会将日志写入磁盘。

相关问题