从 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 中备份和还原注册表 所述先备份注册表之后再进行操作。
- 将
LongPathsEnabled 注册表项设置为 1:
-
单击 Search (快捷键:Win+S),输入 regedit.exe 然后按 Enter。

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

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

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

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

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

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

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

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

Changing the File Owner
-
单击 Change 字段旁的 Owner 控件,然后在出现的 Select User or Group 对话框中单击 Advanced 按钮。

-
在打开的 Select User or Group 对话框中,单击 Locations 按钮以选择要搜索的位置,然后单击 OK。

-
在 Select User or Group 对话框中,单击 Find Now 按钮并搜索你的个人账户,或将所有权设置为 Administrators 账户(Administrators 的位置是本机;默认会有一个域)。

- 在 Select User or Group 对话框和 Advanced Security Settings 对话框中单击 OK。
- 在 Advanced Security Settings 对话框中单击 OK,然后在 Properties 对话框中单击 Advanced 以再次打开它。
-
在 Advanced Security Settings 对话框中,选择 Administrators 组并单击 Change permissions 按钮。

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

-
在 Permission Entry 对话框中单击 OK,然后在 Advanced Security Settings 对话框中单击 Apply。在打开的警告对话框中单击 Yes,然后在 Advanced Security Settings 对话框中单击 OK。
-
单击 Search (快捷键:Win+S),输入 cmd 然后在搜索结果中右键单击 Command prompt 并选择 Run as administrator。

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

- 对
C:\Windows\System32\inetsrv\w3wp.exe 文件重复上述第 3.b 点的步骤。
- 重启服务器。
还原更改
如果需要还原更改,请执行以下步骤:
- 在文件资源管理器中导航到
C:\Windows\System32\inetsrv 并删除 w3wp.exe.manifest 文件。
-
将 Administrators 组的 w3wp.exe 文件权限改回 Read & execute。
请注意,无法将 TrustedInstaller 重新设置为所有者。
- 在文件资源管理器中导航到
C:\Windows\SysWOW64\inetsrv 并删除 w3wp.exe.manifest 文件。
-
将 Administrators 组的 w3wp.exe 文件权限改回 Read & execute。
请注意,无法将 TrustedInstaller 重新设置为所有者。
- 在注册表编辑器中,导航到
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem。并将 LongPathsEnabled 的 Value data 设置为 0。
- 重启服务器。