У меня есть приложение, которое размещено на выделенном сервере. Имеет подключаемую структуру. Он представлялся мягким, в котором есть некоторые функции веб-приложений, такие как возможность замены его модулей «на лету», в то время как другие пользователи запускают это приложение в своем пользовательском пространстве.
Чтобы реализовать эту функцию, я сделал один лаунчер с количеством плагинов и поместил его в общую папку. Пусть это будет C:\App
. Существует EXE- MultiPlug2.exe
и все плагины находятся в C:\App\Plugins
и имеют расширение .bpl
(да, черт побери, старый добрый Delphi XE2 используется в качестве IDE, и я ненавижу день, когда решил его использовать). Программа запуска Start.cmd
проверяет, есть ли у текущего пользователя папка %USERPROFILE%\App
и создает ее, если у него ее нет. Затем он создает символические ссылки для каждого EXE и BPL (т. mklink linkname target
, и я разрешил создавать символические ссылки в политиках сервера) в этих папках. Затем он запускает %USERPROFILE%\App\MultiPlug2.exe
.
Некоторое время после запуска я могу манипулировать файлами в целевых папках, особенно удалять и заменять их, но вскоре они блокируются, как если бы я запускал MultiPlug2
непосредственно из папки, в которой он находится. Как я могу остановить их блокировку?