Показать сообщение отдельно
Старый 22.02.2013, 15:49   #1  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Свой SysFileDeployment
Не знаю как 2012, но 2009 АХ пользоваться стандартными классами SysFileDeployment не представляется возможным в виду того, что не работает без фиксов и архитектура ужас-ужас. На скорую руку сделал свой класс по образу и подобию, но с блекджеком и ...

Отличия от стандартного:

1) Работает
2) Можно вызывать из кода с контейнером списка файлов для проверки/установки;
3) Не нужно плодить классы для каждого файла, достаточно перечислить имена файлов в методе ::filesToDeploy() или в .deployFiles(['File.dll', 'File2.ttf']);
3) Регистрирует файлы .dll и .ocx и устанавливает шрифты;
4) Проверяет директорию на запись, если у пользователя нет прав, установит файлы во временную директорию.

Пример использования:
X++:
public static KAB_PDF417 construct()
{
;
    DEV_FileDeployer::deployFiles(["pdf417.dll", "pdf417.ttf"]);

    return new KAB_PDF417();
}
Данный код, при печати отчета пользователем, проверит установлены ли эти файлы в
X++:
Client\Share\Include\
и если нет предложит их установить, зарегистрирует dll и установит шрифт.

Тестировалось в AX2009 SP1 RU7, Win 7 64
Может не работать в Win 8
Вложения
Тип файла: xpo Class_DEV_FileDeployer.xpo (12.1 Кб, 418 просмотров)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Последний раз редактировалось Link; 22.02.2013 в 15:55.