【问题标题】:Source file X is under Windows System File Protection in c#?源文件 X 在 c# 中的 Windows 系统文件保护下?
【发布时间】:2009-08-24 08:53:47
【问题描述】:

为我的 Web 应用程序 (c#) 创建安装程序时出错。错误是

应排除错误 19“msado20.tlb”,因为其源文件“C:\Program Files\Common Files\system\ado\msado20.tlb”受 Windows 系统文件保护。

是什么意思?

【问题讨论】:

    标签: c# windows installation


    【解决方案1】:

    您需要从安装程序中排除该文件。

    来自 MSDN

    指定的文件是 Windows 2000、Windows XP 和 Windows Server 2003 上受保护的系统文件。受保护的系统文件通常通过操作系统服务包或单独的安装包(如 Windows Media Player 或 Internet Explorer)安装。如果安装在不支持受保护系统文件的操作系统上,在安装程序中包含此文件可能会导致不稳定。例如,通过在 System 文件夹之外安装一个组件(如 stdole.tlb)并注册它,您将覆盖该组件在系统文件保护下的注册。当您的应用程序被卸载时,该应用程序安装的组件被删除,系统文件保护下的组件被删除 处于未注册状态。

    再见。

    【讨论】:

    • 此系统存在问题,因为 Windows 系统文件保护下的文件取决于系统。例如,我们的开发机器没有 msxml6.dll 受到保护,但我们的构建机器有并将此文件检测为依赖项。这意味着,如果我们的开发机器检查对设置项目的更改,它们会擦除 msxml6.dll 排除项,这会破坏我们的构建。
    【解决方案2】:

    Windows 文件保护系统阻止重要的系统文件被覆盖。您的安装程序不想安装这样的文件。

    看起来有问题的文件是 Microsoft ADO 的一部分。因此,无需通过安装程序安装此文件,您需要要求安装应用程序所需的 ADO 版本。

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      相关资源
      最近更新 更多