У меня есть приложение, которое размещено на выделенном сервере. Имеет подключаемую структуру. Он представлялся мягким, в котором есть некоторые функции веб-приложений, такие как возможность замены его модулей «на лету», в то время как другие пользователи запускают это приложение в своем пользовательском пространстве.

Чтобы реализовать эту функцию, я сделал один лаунчер с количеством плагинов и поместил его в общую папку. Пусть это будет 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 непосредственно из папки, в которой он находится. Как я могу остановить их блокировку?

1 ответ1

0

Являются ли эти файлы в %USERPROFILE%\App просто символической ссылкой на те, которые находятся в C:\App? Если так, то пользователи фактически запускают его прямо из исходной папки. Символическая ссылка не является копией исходного файла, это оригинальный файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .