对长路径名称的支持

 

从 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