|
14.11.2007, 15:28 | #1 |
Участник
|
подключение dll библиотек по произвольному пути
Возможно ли подключение dll библиотеки по произвольному пути?
Т е что бы не надо было выкладывать созданную разработку ко всем клиентам на рабочие места в строго определенные папки, а выложить на сервак, прописать путь и работать в свое удовольствие. axapta 3.0 sp5 |
|
14.11.2007, 15:46 | #2 |
Участник
|
семейство классов sysFileDeploy*
Поищите обсуждения по этому ключевому слову. а также: http://axapta.mazzy.ru/lib/sysfiledeployment/ http://forum.mazzy.ru/index.php?showtopic=2066 |
|
|
За это сообщение автора поблагодарили: NetBus (1). |
14.11.2007, 15:50 | #3 |
Участник
|
Цитата:
Обратите внимание, что Аксапта может работать и в тонком режиме. В этом случае клиенту может быть не виден сервер, клиент может вообще находится вне сети, общаясь с АОСом только по порту. Поэтому выкладываение "на сервер" не решит вашу проблему. Пользуйтесь стандартными средствами копирования на клиента, уже предусмотренными в Аксапте, и не мучайтесь с выкладыванием "всем клиентам". |
|
20.11.2007, 16:09 | #4 |
Developer
|
Добавлю .
Если у клиента файловая система ntfs с запретом на создание файлов в требуемом каталоге для пользователя, запустившего аксапту (клиентскую часть), то sysFileDeploy должен дать сбой. Придется первый раз запускать аксапту из под пользователя, который имеет такие права. Это же касается и регистации библиотек (нужны права на изменение соответствующих веток реестра), если не вин 98. |
|
12.08.2009, 19:04 | #5 |
Участник
|
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 |
Участник
|
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 |
Участник
|
Цитата:
Сообщение от someOne
На мой взгляд, тут есть три варианта решения:
1.Создать некий инсталлятор, (setup.exe) и использовать его для установки необходимых библиотек dll каждый раз после установки клиентской части Axapta администраторами . Сделать это придется каждый раз при добавлении новой dll в используемый код. Создать инсталлятор возможно, например, с помощью inno setup (http://www.innosetup.com/isinfo.php) Библиотеки, код, и клиенты обновляются. Как устанавливать обновленные версии библиотек ПОСЛЕ того, как установка клиента давно выполнена? Как обновлять exe-шники клиента? На эти вопросы и отвечает семейтво классов sysFileDeploy* |
|
16.08.2009, 17:19 | #8 |
Участник
|
to SomeOne
Цитата:
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
В итоге, приходим к общей папке с правами для всех пользователей, так как на админов я положиться не могу, то решил создавать в папке Bin клиента подкаталог из Ахапки. Причем папку создать винда уже дает и сразу запихивает в нее полный доступ под текущего пользователя, далее я подразумеваю добавить туда права на всех пользователей на полный доступ. И уже в дальнейшем сохранять туда все новосозданные dll-ки. Вот только меня терзают смутные сомнения: то, что винда дает создать папку в каталоге, в котором не давала создать файл - это частное поведение системы (в зависимости от настроек политики безопасности) или общий случай? В админском деле я не силен. P.S.: А вот регистрация dll уже непобедима, я так понимаю. |
|
Теги |
ax3.0, dll, sysfiledeployment |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|