A partir do Windows 10 versão 1607, as limitações de MAX_PATH foram removidas das funções comuns de ficheiros e diretórios Win32. No entanto, tem de ativar explicitamente este novo comportamento, alterando uma chave de registo para permitir ações quando um caminho de ficheiro com o respetivo nome excede 256 caracteres, como abrir um projeto a partir do Workspace ligado no Altium Designer, disponibilizar um projeto local no Workspace ou gerar saídas através de um ficheiro Outjob ou do Project Releaser.
Configurar o Servidor para Suporte de Caminhos Longos
Ao libertar um projeto que utiliza um caminho longo para um Workspace do Enterprise Server, o computador onde o Altium On-Prem Enterprise Server está instalado também deverá ser configurado, conforme descrito abaixo.
O computador tem de estar a executar um sistema operativo que suporte caminhos longos, como o Windows Server 2016, 2019 ou 2022. Além disso, tem de ser administrador do computador.
-
Defina a chave de registo
LongPathsEnabled como 1:
-
Clique em Search (atalho: Win+S), escreva regedit.exe e prima Enter.
-
No Editor de Registo, navegue para a seguinte localização:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.
-
Clique com o botão direito na entrada com o nome
LongPathsEnabled e selecione Modify.
-
Defina o Value data como 1 e clique em OK.
Se a chave de registo não existir, a entrada pode ser adicionada da seguinte forma:
-
Com a pasta
FileSystem selecionada, clique com o botão direito na área vazia da coluna Name onde se encontram as chaves de registo e selecione New » DWORD (32-bit) Value no menu de contexto.
-
Dê à chave o nome
LongPathsEnabled e prima Enter.
-
Clique com o botão direito na entrada com o nome
LongPathsEnabled e selecione Modify.
-
Defina o Value data como
1 e clique em OK.
-
Transfira o ficheiro
w3wp.exe.manifest (ligação) e copie-o para as seguintes pastas:
-
C:\Windows\System32\inetsrv\
-
C:\Windows\SysWOW64\inetsrv\
Para aplicar as instruções deste ficheiro de manifesto, o passo seguinte tem de ser executado. A razão prende-se com a forma como o sistema operativo vê/lê estas instruções (só as irá ler se o ficheiro w3wp.exe tiver sido modificado).
-
Atualize o carimbo temporal dos ficheiros
w3wp.exe:
-
Pare os serviços web:
-
Clique em Search (atalho: Win+S), escreva IIS e depois selecione Internet Information Services (IIS) Manager nos resultados da pesquisa.
-
Na janela Internet Information Services (IIS) Manager que se abre, clique com o botão direito na entrada do seu servidor na lista Connections e selecione Stop no menu de contexto. Aguarde até que os serviços sejam parados.
-
Abra o Gestor de Tarefas (clique com o botão direito na barra de tarefas e selecione Task Manager no menu de contexto) e clique no controlo More details na parte inferior da janela, caso ainda não o tenha feito. No separador Details, verifique se existem processos w3wp.exe no estado Running.
-
Se existir pelo menos um processo w3wp.exe em execução, clique em Search (atalho: Win+S), escreva services e depois selecione Services nos resultados da pesquisa.
-
Na janela Services que se abre, localize o Windows Process Activation Service, clique com o botão direito sobre ele e selecione Stop no menu de contexto. Confirme a paragem de quaisquer serviços relacionados e aguarde até que os serviços sejam parados. Depois disso, os processos w3wp.exe deverão desaparecer do Gestor de Tarefas.
-
Modifique o carimbo temporal de dois ficheiros de sistema
w3wp.exe:
-
Navegue até
C:\Windows\SysWOW64\inetsrv\w3wp.exe no Explorador de Ficheiros.
-
Clique com o botão direito no ficheiro e selecione Properties no menu de contexto.
-
Na caixa de diálogo Properties, abra o separador Security e clique no botão Advanced.
-
Na caixa de diálogo Advanced Security Settings que se abre, verifique se o seu utilizador atual é o proprietário deste ficheiro. Se não for, anote ou memorize quem é o proprietário e prossiga com os passos seguintes.
Changing the File Owner
-
Clique no controlo Change junto ao campo Owner e depois clique no botão Advanced na caixa de diálogo Select User or Group que aparece.
-
Na caixa de diálogo Select User or Group que se abre, clique no botão Locations para selecionar a localização onde pretende pesquisar e clique em OK.
-
Na caixa de diálogo Select User or Group, clique no botão Find Now e procure a sua conta pessoal ou defina a propriedade para a conta Administrators (a localização de Administrators é a sua máquina local; por predefinição, existirá um domínio).
-
Clique em OK nas caixas de diálogo Select User or Group e na caixa de diálogo Advanced Security Settings.
-
Clique em OK na caixa de diálogo Advanced Security Settings e depois clique em Advanced na caixa de diálogo Properties para a abrir novamente.
-
Na caixa de diálogo Advanced Security Settings, selecione o grupo Administrators e clique no botão Change permissions.
-
Selecione novamente o grupo Administrators e clique no botão Edit. Na caixa de diálogo Permission Entry que se abre, ative a caixa de verificação Full control.
-
Clique em OK na caixa de diálogo Permission Entry, depois clique em Apply na caixa de diálogo Advanced Security Settings. Clique em Yes na caixa de diálogo de aviso que se abre e, em seguida, clique em OK na caixa de diálogo Advanced Security Settings.
-
Clique em Search (atalho: Win+S), escreva cmd e depois clique com o botão direito em Command prompt nos resultados da pesquisa e selecione Run as administrator.
-
Na Command Prompt, introduza o comando cd C:\Windows\SysWOW64\inetsrv e depois introduza o comando copy /b w3wp.exe +,,. Isto apenas atualizará o carimbo temporal do ficheiro.
-
Repita os passos do ponto 3.b acima para o ficheiro
C:\Windows\System32\inetsrv\w3wp.exe.
-
Reinicie o servidor.
Reverter as Alterações
Se precisar de reverter as alterações, execute os seguintes passos:
-
Navegue até
C:\Windows\System32\inetsrv no Explorador de Ficheiros e remova o ficheiro w3wp.exe.manifest.
-
Altere as permissões do ficheiro w3wp.exe para o grupo Administrators de volta para Read & execute.
Tenha em atenção que não é possível voltar a definir TrustedInstaller como proprietário.
-
Navegue até
C:\Windows\SysWOW64\inetsrv no Explorador de Ficheiros e remova o ficheiro w3wp.exe.manifest.
-
Altere as permissões do ficheiro w3wp.exe para o grupo Administrators de volta para Read & execute.
Tenha em atenção que não é possível voltar a definir TrustedInstaller como proprietário.
-
No Editor de Registo, navegue até
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem. e defina o Value data de LongPathsEnabled como 0.
-
Reinicie o servidor.