¿Es posible hacer un recurso compartido de Windows sin bloqueo (los archivos que otras personas usan de forma remota no se bloquean)?

8

El tema lo dice más o menos.

Soy desarrollador y en mi lugar de trabajo he desarrollado una pequeña aplicación interna que algunos de mis colegas y yo usamos de vez en cuando. Para que la última versión esté disponible para ellos, he compartido la carpeta donde están los resultados de la compilación. Sin embargo, esto significa que cada vez que lo usan ya no puedo compilarlo: los archivos están bloqueados.

¿Hay alguna forma de compartir una carpeta, pero no permitir que personas remotas bloqueen archivos? Los archivos ya son de solo lectura para ellos de todos modos. ¿Quizás haya otra solución que sirva para mis propósitos?

Vilx-
fuente
1
¿Está diciendo que desea reemplazar el código ejecutable mientras otras personas lo ejecutan activamente?
Blackbeagle
@Blackbeagle - Bueno ... sí. : D OK, entonces supongo que es un poco extremo, pero al mismo tiempo me gustaría que obtuvieran la última versión "automáticamente" la próxima vez que la ejecuten. OK, supongo que ClickOnce es una solución, aunque se siente un poco como una exageración. : P
Vilx-

Respuestas:

3

Es posible que desee echar un vistazo a UseOpportunisticLocking en HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters. Hay varios parámetros adicionales allí que pueden ser de interés.

Sin embargo, ¿puedo preguntar por qué elige distribuir de esta manera? sin saber en qué está escrita su aplicación, solo puedo adivinar por qué elegiría distribuir de esta manera.

Si escribió una aplicación .NET (creo que necesita al menos 3.5?), ¿Puedo sugerirle que eche un vistazo a ClickOnce Deployment desde MSDN:

ClickOnce es una tecnología de implementación que le permite crear aplicaciones basadas en Windows de actualización automática que se pueden instalar y ejecutar con una mínima interacción del usuario.

He utilizado ClickOnce para varias de nuestras aplicaciones internas con gran éxito, su actualizador automático es muy potente y requiere poco código adicional (solo se bloquea la versión de ensamblaje y se hace clic en "Implementar").

Sin embargo, existen algunas dificultades para esto, específicamente nos encontramos con un problema para una aplicación que requería derechos elevados de UAC. Los programas que requieren esto no son compatibles con ClickOnce Deployment.

aolszowka
fuente
Lo distribuyo así porque es una forma simple de distribuir. Sí, es una aplicación .NET 3.5, por lo que podría usar ClickOnce con ella. Aunque me temo que podría olvidar implementarlo cuando lo cambie. : P Pero es una buena idea, lo tendré en cuenta.
Vilx-
Lo siento si eso salió mal, todavía distribuyo a través de archivos compartidos (en los casos en que no puedo usar ClickOnce), pero cuando encontré que ClickOnce fue un gran salvavidas y me estremezco cuando no puedo usarlo :)!
aolszowka
0

¿Qué tan grande es y es un factor limitante? es decir, ¿hay alguna razón por la que no solo creas una copia reflejada (sincronización) para que estén usando una copia diferente a la tuya?

SyncToy v2.1 es una herramienta de sincronización simple y gratuita que debería poder replicar sus datos sin problemas.

No inspirado
fuente
Podría, no es grande (menos de 20 MB), pero ¿qué y cuándo lo sincronizaría?
Vilx-
Enlace a 'qué' agregado anteriormente. En cuanto a 'cuándo', eso está determinado por cómo lo configura.
inspiración el