Загрузка DLL с помощью жесткой ссылки - PullRequest
0 голосов
/ 29 июля 2010

Я пытаюсь разработать метод, который помогает загружать DLL из общего места для различных продуктов. Это помогает следующей структуре каталогов избежать репликации файлов.

INNSTALLDIR / Product1 / bin
INNSTALLDIR / Product2 / bin
..
INNSTALLDIR / ProductN / bin>

Вместо того, чтобы реплицировать библиотеки DLL в каталоге bin каждого продукта, я могу создать хранилище / каталог DLL - DLLrepo в INSTALLDIR и загрузить из него все дополнительные компоненты продукта. Я думаю сделать это путем создания жесткой ссылки на каждую DLL в DLLrepo в каталоге bin каждого продукта. Это поможет обратиться к платформам, начиная с WinXP. Использование метода «зондирования» может касаться только Windows Server 2008 и выше.

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

Когда мы создаем жесткую ссылку на файл, команда explorer или DIR не учитывает допустимый размер папки, содержащей ссылку. Он учитывает фактический размер данных в связанном файле в общем размере каталога. Это известная проблема в Windows, если я не ошибаюсь. Есть ли какая-либо утилита, которую я могу использовать для проверки фактического размера папки? Можно ли использовать 'chkdisk' в пути к каталогу? Еще одна вещь, которую я хотел бы знать, это получить список ссылок, созданных для данных файла.

1 Ответ

1 голос
/ 29 июля 2010

Когда мы создаем жесткую ссылку на файл, команда исследователя или DIR не учетная запись действительный размер папки с участием ссылки. Это фактический счет Размер данных в связанном файле всего размер каталога. Это ноу выдайте в windows если я не ошибаюсь. Является Есть ли какая-либо утилита, которую я могу использовать для проверить фактический размер папки?

Я могу дать своего рода ответ на эту часть вопроса. Когда вы создаете жесткие ссылки на файлы, на самом деле нет понятия, какой «файл» является оригиналом. Каждый из них указывает на место на диске, которое занимают данные, и изменение файла с помощью любой из этих ссылок влияет на данные, которые видны при доступе к нему через любую другую жесткую ссылку. Таким образом, это менее известная «проблема», а скорее «вот как это работает».

Таким образом, нет способа проверить «фактический размер папки», если вы не посмотрите на размер самой высокой общей родительской папки из папок, содержащих ссылки. В этот момент вы можете начать единый подсчет каждой жесткой ссылки, чтобы получить точное представление о месте на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...