À partir de Windows 10 version 1607, les limitations de MAX_PATH ont été supprimées des fonctions Win32 courantes de fichiers et de répertoires. Cependant, vous devez activer explicitement ce nouveau comportement en modifiant une clé de registre afin de prendre en charge les actions lorsqu’un chemin de fichier avec le nom de fichier dépasse 256 caractères, comme l’ouverture d’un projet depuis le Workspace connecté dans Altium Designer, la mise à disposition d’un projet local dans le Workspace, ou la génération de sorties à l’aide d’un fichier Outjob ou du Project Releaser.
Configuration du serveur pour la prise en charge des chemins longs
Lors de la publication d’un projet utilisant un chemin long vers un Workspace Enterprise Server, l’ordinateur sur lequel Altium On-Prem Enterprise Server est installé doit également être configuré, comme décrit ci-dessous.
L’ordinateur doit exécuter un système d’exploitation prenant en charge les chemins longs, tel que Windows Server 2016, 2019 ou 2022. Vous devez également être administrateur de l’ordinateur.
WARNING: Une modification incorrecte du registre peut rendre Windows inutilisable. Utilisez l’Éditeur du Registre uniquement à vos propres risques et seulement après avoir sauvegardé le registre comme indiqué dans l’article Microsoft
Comment sauvegarder et restaurer le registre dans Windows.
-
Définissez la clé de registre
LongPathsEnabled sur 1 :
-
Cliquez sur Search (raccourci : Win+S), saisissez regedit.exe puis appuyez sur Enter.
-
Dans l’Éditeur du Registre, accédez à l’emplacement suivant :
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.
-
Cliquez avec le bouton droit sur l’entrée nommée
LongPathsEnabled et sélectionnez Modify.
-
Définissez la valeur Value data sur 1 puis cliquez sur OK.
Si la clé de registre n’existe pas, l’entrée peut être ajoutée comme suit :
-
Avec le dossier
FileSystem sélectionné, cliquez avec le bouton droit dans l’espace vide de la colonne Name où se trouvent les clés de registre, puis sélectionnez New » DWORD (32-bit) Value dans le menu contextuel.
-
Nommez la clé
LongPathsEnabled puis appuyez sur Enter.
-
Cliquez avec le bouton droit sur l’entrée nommée
LongPathsEnabled et sélectionnez Modify.
-
Définissez la valeur Value data sur
1 puis cliquez sur OK.
-
Téléchargez le fichier
w3wp.exe.manifest (lien) et copiez-le dans les dossiers suivants :
-
C:\Windows\System32\inetsrv\
-
C:\Windows\SysWOW64\inetsrv\
Pour appliquer les instructions de ce fichier manifeste, l’étape suivante doit être effectuée. La raison est liée à la manière dont le système d’exploitation voit/lit ces instructions (il ne les lira que si le fichier w3wp.exe a été modifié).
-
Mettez à jour l’horodatage des fichiers
w3wp.exe :
-
Arrêtez les services web :
-
Cliquez sur Search (raccourci : Win+S), saisissez IIS puis sélectionnez Internet Information Services (IIS) Manager dans les résultats de recherche.
-
Dans la fenêtre Internet Information Services (IIS) Manager qui s’ouvre, cliquez avec le bouton droit sur l’entrée de votre serveur dans la liste Connections et sélectionnez Stop dans le menu contextuel. Attendez que les services soient arrêtés.
-
Ouvrez le Gestionnaire des tâches (cliquez avec le bouton droit sur la barre des tâches et sélectionnez Task Manager dans le menu contextuel) puis cliquez sur le contrôle More details en bas de la fenêtre si ce n’est pas déjà fait. Dans l’onglet Details, vérifiez s’il existe des processus w3wp.exe avec l’état Running.
-
S’il existe au moins un processus w3wp.exe en cours d’exécution, cliquez sur Search (raccourci : Win+S), saisissez services puis sélectionnez Services dans les résultats de recherche.
-
Dans la fenêtre Services qui s’ouvre, recherchez Windows Process Activation Service, cliquez dessus avec le bouton droit puis sélectionnez Stop dans le menu contextuel. Acceptez l’arrêt de tous les services associés et attendez que les services soient arrêtés. Après cela, les processus w3wp.exe devraient disparaître du Gestionnaire des tâches.
-
Modifiez l’horodatage de deux fichiers système
w3wp.exe :
-
Accédez à
C:\Windows\SysWOW64\inetsrv\w3wp.exe dans l’Explorateur de fichiers.
-
Cliquez avec le bouton droit sur le fichier et sélectionnez Properties dans le menu contextuel.
-
Dans la boîte de dialogue Properties, ouvrez l’onglet Security puis cliquez sur le bouton Advanced.
-
Dans la boîte de dialogue Advanced Security Settings qui s’ouvre, vérifiez si votre utilisateur actuel est propriétaire de ce fichier. Si ce n’est pas le cas, notez ou mémorisez qui est le propriétaire, puis poursuivez avec les étapes suivantes.
Changing the File Owner
-
Cliquez sur le contrôle Change à côté du champ Owner, puis cliquez sur le bouton Advanced dans la boîte de dialogue Select User or Group qui apparaît.
-
Dans la boîte de dialogue Select User or Group qui s’ouvre, cliquez sur le bouton Locations pour sélectionner l’emplacement dans lequel vous souhaitez effectuer la recherche, puis cliquez sur OK.
-
Dans la boîte de dialogue Select User or Group, cliquez sur le bouton Find Now et recherchez votre compte personnel ou définissez la propriété pour le compte Administrators (l’emplacement pour Administrators est votre machine locale ; par défaut, il y aura un domaine).
-
Cliquez sur OK dans les boîtes de dialogue Select User or Group ainsi que dans la boîte de dialogue Advanced Security Settings.
-
Cliquez sur OK dans la boîte de dialogue Advanced Security Settings, puis cliquez sur Advanced dans la boîte de dialogue Properties pour l’ouvrir à nouveau.
-
Dans la boîte de dialogue Advanced Security Settings, sélectionnez le groupe Administrators puis cliquez sur le bouton Change permissions.
-
Sélectionnez à nouveau le groupe Administrators puis cliquez sur le bouton Edit. Dans la boîte de dialogue Permission Entry qui s’ouvre, activez la case à cocher Full control.
-
Cliquez sur OK dans la boîte de dialogue Permission Entry, puis cliquez sur Apply dans la boîte de dialogue Advanced Security Settings. Cliquez sur Yes dans la boîte de dialogue d’avertissement qui s’ouvre, puis cliquez sur OK dans la boîte de dialogue Advanced Security Settings.
-
Cliquez sur Search (raccourci : Win+S), saisissez cmd puis cliquez avec le bouton droit sur Command prompt dans les résultats de recherche et sélectionnez Run as administrator.
-
Dans Command Prompt, saisissez la commande cd C:\Windows\SysWOW64\inetsrv puis la commande copy /b w3wp.exe +,,. Cela mettra uniquement à jour l’horodatage du fichier.
-
Répétez les étapes du point 3.b ci-dessus pour le fichier
C:\Windows\System32\inetsrv\w3wp.exe.
-
Redémarrez le serveur.
Annulation des modifications
Si vous devez annuler les modifications, effectuez les étapes suivantes :
-
Accédez à
C:\Windows\System32\inetsrv dans l’Explorateur de fichiers et supprimez le fichier w3wp.exe.manifest.
-
Rétablissez les autorisations du fichier w3wp.exe pour le groupe Administrators à Read & execute.
Notez qu’il n’est pas possible de redéfinir TrustedInstaller comme propriétaire.
-
Accédez à
C:\Windows\SysWOW64\inetsrv dans l’Explorateur de fichiers et supprimez le fichier w3wp.exe.manifest.
-
Rétablissez les autorisations du fichier w3wp.exe pour le groupe Administrators à Read & execute.
Notez qu’il n’est pas possible de redéfinir TrustedInstaller comme propriétaire.
-
Dans l’Éditeur du Registre, accédez à
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem. puis définissez la valeur Value data pour LongPathsEnabled sur 0.
-
Redémarrez le serveur.