对长路径名称的支持

 

从 Windows 10 版本 1607 开始,常见的 Win32 文件和目录函数已移除了 MAX_PATH 限制。但是,你必须通过更改注册表项来选择启用这种新行为,以便在文件路径(含文件名)超过 256 个字符时支持相关操作,例如在 Altium Designer 中从已连接的 Workspace 打开项目、将本地项目发布到 Workspace,或使用 Outjob 文件或 Project Releaser 生成输出。

了解更多关于配置安装了 Altium Designer 的计算机以启用长路径支持的信息: 长路径名称支持。

为长路径支持配置服务器

当 发布使用长路径的项目 到 Enterprise Server Workspace 时,还应按如下所述对安装了 Altium On-Prem Enterprise Server 的计算机进行配置。

该计算机必须运行支持长路径的操作系统,例如 Windows Server 2016、2019 或 2022。此外,你必须是该计算机的管理员。
WARNING:不正确地修改注册表可能会导致 Windows 无法使用。使用注册表编辑器的风险需自行承担,并且仅应在按照 Microsoft 文章 如何在 Windows 中备份和还原注册表 所述先备份注册表之后再进行操作。
  1. 将 LongPathsEnabled 注册表项设置为 1:
    1. 单击 Search (快捷键:Win+S),输入 regedit.exe 然后按 Enter。

    2. 在注册表编辑器中,导航到以下位置: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem。
    3. 右键单击名为 LongPathsEnabled 的条目,并选择 Modify。
    4. 将 Value data 设置为 1 并单击 OK。

      如果该注册表项不存在,可按以下步骤添加该条目:

      1. 选中 FileSystem 文件夹后,在注册表项所在的 Name 列空白处右键单击,并从上下文菜单中选择 New » DWORD (32-bit) Value。
      2. 将该项命名为 LongPathsEnabled 并按 Enter。
      3. 右键单击名为 LongPathsEnabled 的条目,并选择 Modify。
      4. 将 Value data 设置为 1 并单击 OK。
  2. 下载 w3wp.exe.manifest 文件(链接)并将其复制到以下文件夹:
    • C:\Windows\System32\inetsrv\
    • C:\Windows\SysWOW64\inetsrv\
    要应用此清单文件中的指令,必须执行下一步。原因在于操作系统查看/读取这些指令的方式(只有在 w3wp.exe 文件被修改的情况下才会读取它们)。
  3. 更新 w3wp.exe 文件的时间戳:
    1. 停止 Web 服务:
      1. 单击 Search (快捷键:Win+S),输入 IIS 然后在搜索结果中选择 Internet Information Services (IIS) Manager。

      2. 在打开的 Internet Information Services (IIS) Manager 窗口中,在 Connections 列表里右键单击你的服务器条目,并从上下文菜单中选择 Stop 。 等待服务停止。

      3. 打开任务管理器(右键单击任务栏并从上下文菜单中选择 Task Manager),如果底部的 More details 控件尚未展开则单击它。在 Details 选项卡上,检查是否有任何 w3wp.exe 进程处于 Running 状态。

      4. 如果至少有一个正在运行的 w3wp.exe 进程,单击 Search (快捷键:Win+S),输入 services 然后在搜索结果中选择 Services 。

      5. 在打开的 Services 窗口中,找到 Windows Process Activation Service,右键单击它并从上下文菜单中选择 Stop 。同意停止任何相关服务并等待服务停止。之后,w3wp.exe 进程应会从任务管理器中消失。

    2. 修改两个 w3wp.exe 系统文件的时间戳:
      1. 在文件资源管理器中导航到 C:\Windows\SysWOW64\inetsrv\w3wp.exe。
      2. 右键单击该文件并从上下文菜单中选择 Properties。
      3. 在 Properties 对话框中,打开 Security 选项卡并单击 Advanced 按钮。

      4. 在打开的 Advanced Security Settings 对话框中,检查当前用户是否为该文件的所有者。 如果不是,请记下或记住所有者是谁,然后继续执行下一步。

      5. 在 Advanced Security Settings 对话框中,选择 Administrators 组并单击 Change permissions 按钮。

      6. 再次选择 Administrators 组并单击 Edit 按钮。在打开的 Permission Entry 对话框中,启用 Full control 复选框。

      7. 在 Permission Entry 对话框中单击 OK,然后在 Advanced Security Settings 对话框中单击 Apply。在打开的警告对话框中单击 Yes,然后在 Advanced Security Settings 对话框中单击 OK。

      8. 单击 Search (快捷键:Win+S),输入 cmd 然后在搜索结果中右键单击 Command prompt 并选择 Run as administrator。

      9. 在 Command Prompt 中,输入 cd C:\Windows\SysWOW64\inetsrv 命令,然后输入 copy /b w3wp.exe +,, 命令。这只会更新文件的时间戳。

    3. 对 C:\Windows\System32\inetsrv\w3wp.exe 文件重复上述第 3.b 点的步骤。
  4. 重启服务器。

还原更改

如果需要还原更改,请执行以下步骤:

  1. 在文件资源管理器中导航到 C:\Windows\System32\inetsrv 并删除 w3wp.exe.manifest 文件。
  2. 将 Administrators 组的 w3wp.exe 文件权限改回 Read & execute。

    请注意,无法将 TrustedInstaller 重新设置为所有者。
  3. 在文件资源管理器中导航到 C:\Windows\SysWOW64\inetsrv 并删除 w3wp.exe.manifest 文件。
  4. 将 Administrators 组的 w3wp.exe 文件权限改回 Read & execute。

    请注意,无法将 TrustedInstaller 重新设置为所有者。
  5. 在注册表编辑器中,导航到 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem。并将 LongPathsEnabled 的 Value data 设置为 0。
  6. 重启服务器。
AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Content
Content