C# 密码保护安装程序.net

C# 密码保护安装程序.net,c#,wpf,sqlite,windows-services,installation,C#,Wpf,Sqlite,Windows Services,Installation,我正在使用的解决方案具有WPF窗口,该窗口使用SQLLite数据库和Windows服务,该服务使用数据库数据。此外,WPF window还为windows服务使用了安装程序和卸载程序 该程序的主要思想是控制对所有程序的访问/拒绝。我已经完成了所有脚本,但我必须为此解决方案创建安装程序和卸载程序,并且卸载程序必须受密码保护(此程序与父控制程序的想法相同,因此一些用户不必能够使用/删除该程序)也许有其他解决方案可以在不创建安装程序和卸载程序的情况下保护它 我的想法是use能够删除所有文件,但wind

我正在使用的解决方案具有WPF窗口,该窗口使用SQLLite数据库和Windows服务,该服务使用数据库数据。此外,WPF window还为windows服务使用了安装程序和卸载程序

该程序的主要思想是控制对所有程序的访问/拒绝。我已经完成了所有脚本,但我必须为此解决方案创建安装程序和卸载程序,并且卸载程序必须受密码保护(此程序与父控制程序的想法相同,因此一些用户不必能够使用/删除该程序)也许有其他解决方案可以在不创建安装程序和卸载程序的情况下保护它


我的想法是use能够删除所有文件,但windows服务仍然可以工作,因为它以前是由WPF窗口安装的。这似乎是一个很好的解决方案,但在这种情况下,SQLLite数据库将被删除。

让windows服务和/或wpf应用程序在运行时创建/复制数据库,并将其放在另一个目录中(例如,
LocalAppData
)。这样,当用户决定卸载程序时,其本地数据库将不会从其计算机中删除。

通常,允许删除或删除(或添加或创建…)内容的用户由操作系统的访问控制功能决定。谢谢您的回答。因此,我将向客户端发送一个包含我的解决方案的文件夹,当客户端使用wpf GUI安装windows服务时,sqllite数据库将被删除到localAppData。在我看来这是个好主意。客户端将使用wpf GUI应用程序作为windows服务的安装程序和程序拒绝/访问的选择器。如果安装了该服务,客户端或其子女可以删除我发送给他的文件夹,但该服务仍将工作。如果他想控制程序和服务,他必须再次下载GUI。我说得对吗?非常感谢。如果你的意思是“…移动到localAppData”,那么是的,你的想法是对的。