0

微软似乎没有一个明显的地方或任何文档来解释在哪里安装复杂的应用程序,这些应用程序将文件写入应用程序文件夹并由不同的用户共享。

我们有一个复杂的 .NET Web 应用程序,其中包含 21 个单独的项目并包括以下组件:

  • 一个运行 SAAS 系统并可本地安装在客户站点的主网站
  • 用于安装、配置和诊断的应用程序
  • 作为 Windows 服务安装的应用程序
  • 安装在服务器上的实用应用程序,也可以安装在客户端上并通过 Web 服务与 Web 应用程序对话

在 Windows 2012 及更早版本上,您可以非常高兴地将这个应用程序部署到程序文件中,整个应用程序将位于一个文件夹中。一切都好。

但是,从 Windows 2012 R2 及更高版本开始,普通用户帐户无法写入程序文件。我们的网络应用程序包含重要的上传能力,不仅是偶尔使用的文件,还有大量的数据文件,这些文件从客户 LAN 馈送到我们的 SAAS 系统。此外,还有日志文件写入,会话文件等写入托管 IIS web 本身的文件夹中(编辑:webfolder 本身也存在于我们的程序文件 app 文件夹中)

据我所知,应用程序现在驻留在程序文件中,公共数据存在于 c:\users\public 中的某处,而用户特定数据存在于 c:\users\username 中。这意味着该应用程序分布在硬盘上,不容易备份或管理。为了遵循这些约定,我们需要大量重写,因为许多 EXE 的写入相对于 exe 路径,并且 Web 后端也依赖于能够在 Web 文件夹本身内写入文件。

那么在 Windows 中是否有一个合适的位置可以安装像这样的复杂应用程序来写入它自己的文件夹结构?

我注意到在 Windows 2012 R2 和 Windows 2016 上,我可以在 C: 驱动器的根目录中创建一个文件夹,而在 Windows 10 上我不能。独立文件夹会是解决此问题的正确方法吗?这对我们来说肯定是最简单的解决方案。

Windows 服务和 IIS 应用程序池将始终在不同的凭据下运行,因此如果我们有用于写入文件的每用户模型,它们将无法再共享设置。

该应用程序必须符合用于 Web 和 .net 应用程序的 DoD STIG 标准。

谢谢

4

0 回答 0