Можно ли сделать неблокируемый общий ресурс Windows (файлы, которые другие люди используют удаленно, не блокируются)?


8

Субъект в значительной степени это говорит.

Я разработчик, и на своем рабочем месте я разработал небольшое внутреннее приложение, которое время от времени использую я и некоторые из моих коллег. Чтобы сделать последнюю версию доступной для них, я поделился папкой, в которой находятся результаты компиляции. Однако это означает, что всякий раз, когда они его используют, я больше не могу его скомпилировать - файлы заблокированы.

Есть ли способ поделиться папкой, но запретить удаленным людям блокировать файлы? В любом случае файлы уже доступны только для чтения. Возможно, есть другое решение, которое будет служить моим целям?


1
Вы говорите, что хотите заменить исполняемый код, в то время как другие люди активно запускают этот код?
Blackbeagle

@ Blackbeagle - Ну ... да. : D Хорошо, так что я думаю, что это немного экстремально, но в то же время я хотел бы, чтобы они получали «последнюю версию» автоматически при следующем запуске. Хорошо, я думаю, что ClickOnce - это решение, хотя оно и выглядит немного излишним. : P
Vilx-

Ответы:


3

Возможно, вы захотите взглянуть на UseOpportunisticLocking под HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters. Там есть несколько дополнительных параметров, которые могут быть интересны.

Однако могу ли я спросить, почему вы решили распространять этот способ? не зная, о чем написано ваше заявление, я могу только догадываться, почему вы решили распространять таким образом.

Если вы написали приложение .NET (я думаю, что вам нужно хотя бы 3,5?), Я мог бы предложить вам взглянуть на развертывание ClickOnce с MSDN:

ClickOnce - это технология развертывания, которая позволяет создавать самообновляющиеся приложения для Windows, которые можно устанавливать и запускать с минимальным взаимодействием с пользователем.

Я использовал ClickOnce для нескольких наших внутренних приложений с большим успехом, его автоматическое обновление очень мощное и не требует большого количества дополнительного кода (просто изменив версию сборки и нажав «Развернуть»).

Однако в этом есть некоторые подводные камни, в частности, мы столкнулись с проблемой для приложения, для которого требовались повышенные права UAC. Программы, которые требуют этого, не поддерживаются ClickOnce Deployment.


Я распространяю это так, потому что это простой способ распространения. Да, это приложение .NET 3.5, поэтому я мог бы использовать с ним ClickOnce. Хотя, боюсь, я могу забыть развернуть его, когда я его поменяю. : P Но это достойная идея, я буду иметь в виду!
Vilx-

Извините, если что-то пошло не так, я все еще распространяю через общие папки (в тех случаях, когда я не могу использовать ClickOnce), но когда я нашел ClickOnce, это был огромный спаситель жизни, и я ужасаюсь, когда не могу его использовать :)!
aolszowka

0

Насколько он велик и является ли это ограничивающим фактором? есть ли причина, по которой вы не просто создаете зеркальную копию (синхронизацию), чтобы они использовали копию, отличную от вашей?

SyncToy v2.1 - это простой бесплатный инструмент для синхронизации, который без проблем сможет воспроизвести ваши данные.


Я мог бы, это не большой (ниже 20 МБ), но что и когда синхронизировать это?
Vilx

Ссылка на «что» добавлена ​​выше. Что касается «когда», это определяется тем, как вы его настраиваете.
скучный
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.