Ist es möglich, eine nicht sperrende Windows-Freigabe zu erstellen (Dateien, die andere Benutzer remote verwenden, werden nicht gesperrt)?

8

Das Thema sagt es so ziemlich.

Ich bin Entwickler und habe an meinem Arbeitsplatz eine kleine interne Anwendung entwickelt, die ich und einige meiner Kollegen von Zeit zu Zeit verwenden. Um ihnen die neueste Version zur Verfügung zu stellen, habe ich den Ordner freigegeben, in dem sich die Kompilierungsergebnisse befinden. Dies bedeutet jedoch, dass ich es nicht mehr kompilieren kann, wenn sie es verwenden - die Dateien sind gesperrt.

Gibt es eine Möglichkeit, einen Ordner freizugeben, Remotebenutzer jedoch daran zu hindern, Dateien zu sperren? Die Dateien sind ohnehin schon schreibgeschützt. Vielleicht gibt es eine andere Lösung, die meinen Zwecken dienen würde?

Vilx-
quelle
1
Wollen Sie damit sagen, dass Sie ausführbaren Code ersetzen möchten, während andere Personen diesen Code aktiv ausführen?
Blackbeagle
@ Blackbeagle - Nun ... ja. : D OK, ich denke, das ist ein bisschen extrem, aber gleichzeitig möchte ich, dass sie die neueste Version "automatisch" erhalten, wenn sie das nächste Mal ausgeführt werden. OK, ich denke, ClickOnce ist eine Lösung, fühlt sich aber ein bisschen wie ein Overkill an. : P
Vilx

Antworten:

3

Vielleicht möchten Sie einen Blick auf UseOpportunisticLocking unter werfenHKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters . Es gibt mehrere zusätzliche Parameter, die möglicherweise von Interesse sind.

Darf ich jedoch fragen, warum Sie sich für diese Verteilung entscheiden? Ohne zu wissen, in was Ihre Bewerbung geschrieben ist, kann ich nur raten, warum Sie sich für eine solche Verteilung entschieden haben.

Wenn Sie eine .NET-Anwendung geschrieben haben (ich glaube, Sie benötigen mindestens 3.5?), Schlage ich vor, dass Sie sich ClickOnce Deployment aus dem MSDN ansehen :

ClickOnce ist eine Bereitstellungstechnologie, mit der Sie selbstaktualisierende Windows-basierte Anwendungen erstellen können, die mit minimaler Benutzerinteraktion installiert und ausgeführt werden können.

Ich habe ClickOnce für einige unserer internen Anwendungen mit großem Erfolg verwendet. Der automatische Updater ist sehr leistungsfähig und erfordert wenig zusätzlichen Code (nur die Assembly-Version anstoßen und auf "Bereitstellen" klicken).

Dies hat jedoch einige Fallstricke, insbesondere ist ein Problem für eine Anwendung aufgetreten, für die erhöhte UAC-Rechte erforderlich sind. Programme, die dies erfordern, werden von ClickOnce Deployment nicht unterstützt.

aolszowka
quelle
Ich verteile es so, weil es eine einfache Möglichkeit ist, es zu verteilen. Ja, es ist eine .NET 3.5-App, daher könnte ich ClickOnce damit verwenden. Obwohl ich befürchte, ich könnte vergessen, es bereitzustellen, wenn ich es ändere. : P Aber es ist eine würdige Idee, ich werde es mir merken!
Vilx
Es tut mir leid, wenn das falsch herauskam, ich verteile immer noch über Dateifreigaben (in Fällen, in denen ich ClickOnce nicht verwenden kann), aber als ich ClickOnce fand, war das ein großer Lebensretter und ich erschrecke, wenn ich es nicht verwenden kann :)!
Aolszowka
0

Wie groß ist es und ist das ein begrenzender Faktor? Gibt es einen Grund, warum Sie nicht einfach eine gespiegelte Kopie (Synchronisierung) erstellen, damit diese eine andere Kopie verwendet als Sie?

SyncToy v2.1 ist ein einfaches, kostenloses Synchronisierungstool, mit dem Sie Ihre Daten problemlos replizieren können.

Einfallslos
quelle
Ich könnte, es ist nicht groß (unter 20 MB), aber was und wann würde es synchronisieren?
Vilx
Link zu 'was' oben hinzugefügt. Das "Wann" hängt davon ab, wie Sie es konfigurieren.
Uninspiriert