Czy można utworzyć nieblokujący udział systemu Windows (pliki, których inne osoby używają zdalnie, nie są blokowane)?

8

Temat prawie to mówi.

Jestem programistą i w miejscu pracy opracowałem małą aplikację wewnętrzną, z której od czasu do czasu korzystam wraz z kilkoma kolegami. Aby udostępnić im najnowszą wersję, udostępniłem folder, w którym znajdują się wyniki kompilacji. Oznacza to jednak, że za każdym razem, gdy go używają, nie mogę go już skompilować - pliki są zablokowane.

Czy jest jakiś sposób na udostępnienie folderu, ale zabronić zdalnym osobom blokowania plików? Pliki i tak są już tylko do odczytu. Być może istnieje inne rozwiązanie, które służyłoby moim celom?

Vilx-
źródło
1
Czy mówisz, że chcesz zastąpić kod wykonywalny, gdy inne osoby aktywnie go uruchamiają?
Blackbeagle
@Blackbeagle - Cóż ... tak. : D OK, więc myślę, że to trochę ekstremalne, ale jednocześnie chciałbym, aby najnowsza wersja „automatycznie” przy następnym uruchomieniu. OK, myślę, że ClickOnce jest rozwiązaniem, choć wydaje się trochę przesadzone. : P
Vilx-

Odpowiedzi:

3

Możesz rzucić okiem na UseOpportunisticLocking pod HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters. Istnieje kilka dodatkowych parametrów, które mogą być interesujące.

Czy mogę jednak zapytać, dlaczego zdecydujesz się na taką dystrybucję? nie wiedząc, w czym napisana jest Twoja aplikacja, mogę jedynie zgadywać, dlaczego zdecydowałeś się rozpowszechniać w ten sposób.

Jeśli napisałeś aplikację .NET (myślę, że potrzebujesz co najmniej 3.5?), Czy mogę zasugerować przyjrzenie się wdrożeniu ClickOnce z MSDN:

ClickOnce to technologia wdrażania, która umożliwia tworzenie samoaktualizujących się aplikacji opartych na systemie Windows, które można instalować i uruchamiać przy minimalnej interakcji użytkownika.

Z dużym powodzeniem korzystałem z ClickOnce w kilku naszych aplikacjach wewnętrznych, jego automatyczny aktualizator jest bardzo wydajny i wymaga niewiele dodatkowego kodu (wystarczy zrzucić wersję zestawu i kliknąć „Wdróż”).

Istnieją jednak pewne pułapki, w szczególności natrafiliśmy na problem związany z aplikacją wymagającą podwyższonych uprawnień UAC. Programy, które tego wymagają, nie są obsługiwane przez wdrożenie ClickOnce.

aolszówka
źródło
Rozprowadzam to w ten sposób, ponieważ jest to prosty sposób dystrybucji. Tak, jest to aplikacja .NET 3.5, więc mogłem z nią korzystać z ClickOnce. Chociaż obawiam się, że mogę zapomnieć o wdrożeniu go, gdy go zmienię. : P Ale to jest godny pomysł, będę o tym pamiętać!
Vilx
Przepraszam, jeśli to wyszło źle, nadal rozpowszechniam za pośrednictwem udziałów plików (w przypadkach, w których nie mogę korzystać z ClickOnce), ale kiedy znalazłem ClickOnce, było to ogromne oszczędzanie życia i kulę się, gdy nie mogę go użyć :)!
aolszówka
0

Jak duży jest i czy jest to czynnik ograniczający? tj. Czy istnieje powód, dla którego nie tworzysz kopii lustrzanej (synchronizacji), aby korzystali z innej kopii niż Ty?

SyncToy v2.1 to proste, bezpłatne narzędzie do synchronizacji, które powinno być w stanie replikować dane bez problemu.

Banalny
źródło
Mógłbym, nie jest duży (poniżej 20 MB), ale co i kiedy zsynchronizuje to?
Vilx
Link do „co” dodanego powyżej. Co do „kiedy” zależy od tego, jak go skonfigurujesz.
Uninspired