Ha pasado mucho tiempo desde que vi tanto toro :)
Haga clic derecho -> Propiedades -> Personalizar ---> Cambiar icono no está disponible en recursos compartidos SMB.
... ---> Cambiar imagen no tiene ningún efecto.
Desktop.ini NO es procesado por Windows para recursos compartidos SMB, porque Linux interpreta el bit "Solo lectura" (de la carpeta) de manera diferente, y lo informa a Windows incorrectamente:
- En Linux, solo lectura significa solo lectura.
- En Windows, Solo lectura (solo con carpetas) significa procesar Desktop.ini !!!
Se supone que hay una configuración de registro que fuerza el procesamiento de Desktop.ini mediante el uso del indicador "Sistema" (súper oculto) en lugar de "Solo lectura", pero nunca lo hice funcionar como se esperaba.
La falta de procesamiento de desktop.ini en SMB rompe muchas otras cosas, no solo los iconos de carpeta: los enlaces simbólicos y los espacios de nombres personalizados tampoco funcionan. Los vagos de Microsoft simplemente se niegan a lidiar con eso, desde Windows NT.
Por supuesto, siempre es posible crear enlaces indirectos para acceder a las carpetas SMB, y dar esos iconos personalizados en su lugar, pero eso causa muchos otros problemas:
- Los enlaces de acceso directo se evalúan y almacenan en caché de forma predeterminada en Windows cuando abre la carpeta principal, lo que provoca retrasos "masivos" en el explorador si una carpeta contiene accesos directos para ralentizar o compartir recursos de red.
- Los accesos directos en las ventanas son absolutos, no son ergo relativos ni portátiles. Esto crea mucho mantenimiento en caso de que cambie la ruta raíz objetivo. Windows también tiene la costumbre de convertir automáticamente los vars del entorno en enlaces absolutos, lo que anula cualquier intento de solucionarlo.
- Su servicio de "Cliente de seguimiento de enlaces distribuidos" con cerebro de pájaro arruina aún más las cosas.
La mejor manera de implementar enlaces relativos en Windows es usar el script VBS. En forma nativa (texto), el script VBS no tendrá un icono personalizado, pero puede asignar un icono personalizado al archivo EXE si lo compila.
Sin embargo, es mucho trabajo, y el script creará mensajes de advertencia "no confiables" cada vez que lo inicie desde una red, a menos que el script sea local o encuentre una manera de firmarlo.
VBS Relative Link example:
============================
' This is a VB Script, which emulates a RELATIVE file link/shortcut in Win XP
'
' 1) The first line declares an untyped variable ==> objshell
'
' 2) The second line instantiates a new object derived from ==> Shell.Application
'
' 3) The third line invokes the object's method ==> ShellExecute
'
' with the following parametters: "target path"
' "target's arguments"
' "starting directory"
' "action verb"
' Initial window mode: 0 = Hidden Window
' 1 = Normal Window
' 2 = Minimized
' 3 = Maximized
' 4 = Most recent size and position, keep active window active
' 5 = Current size and position
' 6 =
' 7 = Minimized, keep active window active
' 10 = Default state specified by target application
'
' 4) The last line frees/destroys the shell object
'
'
dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute _
"..\..\..\SomePath_Three_Dirs_UP_etc" ,_
"" ,_
"" ,_
"open" ,_
1
set objShell = nothing
===============================================================
desktop.inilas opciones