AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.11.2007, 15:28   #1  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
подключение dll библиотек по произвольному пути
Возможно ли подключение dll библиотеки по произвольному пути?
Т е что бы не надо было выкладывать созданную разработку ко всем клиентам
на рабочие места в строго определенные папки, а выложить на сервак, прописать путь и работать в свое удовольствие.

axapta 3.0 sp5
Старый 14.11.2007, 15:46   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
семейство классов sysFileDeploy*
Поищите обсуждения по этому ключевому слову.

а также:
http://axapta.mazzy.ru/lib/sysfiledeployment/
http://forum.mazzy.ru/index.php?showtopic=2066
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: NetBus (1).
Старый 14.11.2007, 15:50   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от NetBus Посмотреть сообщение
Т е что бы не надо было выкладывать созданную разработку ко всем клиентам
И еще.

Обратите внимание, что Аксапта может работать и в тонком режиме. В этом случае клиенту может быть не виден сервер, клиент может вообще находится вне сети, общаясь с АОСом только по порту.

Поэтому выкладываение "на сервер" не решит вашу проблему.
Пользуйтесь стандартными средствами копирования на клиента, уже предусмотренными в Аксапте, и не мучайтесь с выкладыванием "всем клиентам".
__________________
полезное на axForum, github, vk, coub.
Старый 20.11.2007, 16:09   #4  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Добавлю .
Если у клиента файловая система ntfs с запретом на создание файлов в требуемом каталоге для пользователя, запустившего аксапту (клиентскую часть), то sysFileDeploy должен дать сбой. Придется первый раз запускать аксапту из под пользователя, который имеет такие права.
Это же касается и регистации библиотек (нужны права на изменение соответствующих веток реестра), если не вин 98.
Старый 12.08.2009, 19:04   #5  
JeS is offline
JeS
Участник
 
61 / 22 (1) +++
Регистрация: 30.10.2007
Адрес: СПб
DAX 4.0 SP2
Кто-нибудь решал проблему изложенную vallys? Из-за прав падает в классе SysFileDeployment здесь:
X++:
boolean copy()
{
....
    if (!binData.saveFile(this.destinationPath()+this.tempFilePrefix()+this.filename()))
        throw error(strfmt("@SYS19312", this.destinationPath()+this.tempFilePrefix()+this.filename()));
...
}
Можно как-нить подсунуть права другого пользователя при выполнении этой операции? или еще как? Расширять права пользователя не катит.
Старый 16.08.2009, 11:40   #6  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
to JeS
На мой взгляд, тут есть три варианта решения:

1.Создать некий инсталлятор, (setup.exe) и использовать его для установки необходимых библиотек dll каждый раз после установки клиентской части Axapta администраторами . Сделать это придется каждый раз при добавлении новой dll в используемый код. Создать инсталлятор возможно, например, с помощью inno setup (http://www.innosetup.com/isinfo.php)
2.Там где это возможно, вызывать функции dll на серверной стороне, тогда dll не придется копировать на клиентские места.
3.Копировать необходимый dll не в системные папки (system32 и т.д) а в папки, в которые у пользователя есть полный доступ, например C:\Documents and Settings\user\Local Settings\Application Data\Axapta
Старый 16.08.2009, 15:41   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от someOne Посмотреть сообщение
На мой взгляд, тут есть три варианта решения:

1.Создать некий инсталлятор, (setup.exe) и использовать его для установки необходимых библиотек dll каждый раз после установки клиентской части Axapta администраторами . Сделать это придется каждый раз при добавлении новой dll в используемый код. Создать инсталлятор возможно, например, с помощью inno setup (http://www.innosetup.com/isinfo.php)
Думайте дальше.
Библиотеки, код, и клиенты обновляются.
Как устанавливать обновленные версии библиотек ПОСЛЕ того, как установка клиента давно выполнена?
Как обновлять exe-шники клиента?

На эти вопросы и отвечает семейтво классов sysFileDeploy*
__________________
полезное на axForum, github, vk, coub.
Старый 16.08.2009, 17:19   #8  
JeS is offline
JeS
Участник
 
61 / 22 (1) +++
Регистрация: 30.10.2007
Адрес: СПб
to SomeOne
Цитата:
1.Создать некий инсталлятор, (setup.exe) и использовать его для установки необходимых библиотек dll каждый раз после установки клиентской части Axapta администраторами . Сделать это придется каждый раз при добавлении новой dll в используемый код. Создать инсталлятор возможно, например, с помощью inno setup (http://www.innosetup.com/isinfo.php)
- ну, тут Вам mazzy ответил, я с ним согласен. Не катит.
Цитата:
2.Там где это возможно, вызывать функции dll на серверной стороне, тогда dll не придется копировать на клиентские места.
- согласен, но пять же "там где это возможно", а там где невозможно?
Цитата:
3.Копировать необходимый dll не в системные папки (system32 и т.д) а в папки, в которые у пользователя есть полный доступ, например C:\Documents and Settings\user\Local Settings\Application Data\Axapta
- вариант рабочий, но не очень красивое решение. Получится, что одна и та же dll-ка размножится по кол-ву пользователей на этом компе, если делать по пути через ...user\Local settings..

В итоге, приходим к общей папке с правами для всех пользователей, так как на админов я положиться не могу, то решил создавать в папке Bin клиента подкаталог из Ахапки. Причем папку создать винда уже дает и сразу запихивает в нее полный доступ под текущего пользователя, далее я подразумеваю добавить туда права на всех пользователей на полный доступ. И уже в дальнейшем сохранять туда все новосозданные dll-ки. Вот только меня терзают смутные сомнения: то, что винда дает создать папку в каталоге, в котором не давала создать файл - это частное поведение системы (в зависимости от настроек политики безопасности) или общий случай? В админском деле я не силен.

P.S.: А вот регистрация dll уже непобедима, я так понимаю.
Теги
ax3.0, dll, sysfiledeployment

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с самописной DLL. VAlek DAX: Программирование 18 28.12.2008 10:37
axStart: Programming against a DLL. Blog bot DAX Blogs 2 28.03.2008 12:56
Client Axapta 3.0 SP4 и Linux. Как запустить? Daiver DAX: Администрирование 10 28.06.2007 15:59
Axapta Lessons: Axapta DLLs Blog bot DAX Blogs 0 28.10.2006 18:22
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:50.