我的 MSI 安装程序向 SCM 注册了几个 Window NT 服务。这些服务将数据写入临时文件夹,默认情况下该文件夹获得 SYSTEM 帐户的所有权。在卸载过程中,卸载程序进程无法删除这些文件夹,因为临时文件夹由具有读/写访问权限的管理员拥有。当前用户是管理员,但没有这些文件夹的显式读/写权限。更糟糕的是,该应用程序是一个由 Window 服务控制的 Java 应用程序。
卸载程序的最佳策略是什么?应该是 - 使用 native 代码更改文件夹的权限? - 启用 UAC 后如何工作?
最佳答案
我最终请求提升管理员权限来删除文件夹。将文件夹留在周围会影响升级,所以我不能按照海报的建议留下它们。
关于windows - 无法通过我的应用卸载程序删除 Windows 服务创建的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974856/