Проблема запуска файла конфигурации клиента Dynamics AX 2009
Мне нужно запустить клиент MS Dynamics AX 2009 с разными конфигурациями для подключения к разным AOS.
Чтобы добиться этого, я экспортировал конфигурацию клиента в файл axc, который работает довольно хорошо.
Теперь я хочу поделиться этим файлом для всех клиентов в нашей сети, но на некоторых он не работает, потому что по какой-то забавной причине путь к двоичным файлам Dynamics AX жестко запрограммирован в файле конфигурации клиента. Итак, на одном компьютере клиент AX установлен в C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin, на следующем в C:\Program Files\Microsoft Dynamics AX\50\Client\Bin, файл не работает, так как путь в axc отличается от реального пути.
Как мне создать файл axc, который работает на каждом клиентском компьютере, чтобы я мог использовать общий файл конфигурации?
6 ответов
Единственный обходной путь, который я нашел, - это установить клиент на каждый компьютер по какому-либо пути, например, c:\ax, вместо того, чтобы устанавливать его в программные файлы.
Некрасиво. Я действительно надеюсь, что Microsoft исправит это в какой-то будущей версии.
Вы можете использовать точку соединения в NTFS для указания "Program Files (x86)" на "Program Files" на 32-битных клиентах. Точка соединения - это, в основном, Windows-эквивалент символической ссылки UNIX.
Я использую следующую структуру моей среды разработки, и я думаю, это то, что вы ищете.
Ниже приведен пример.
Имя сервера: SRV01 На этом сервере создайте папку для ex. AX5 и поделиться этой папкой. Структура папки:
AX5
--Application
----Appl
------Application_1 <- here is your *.aod file(-s)
------Application_2 <- here is your *.aod file(-s)
--AXC
------Application_1
-------- usr.axc configuration file <- save your configuration here
-------- cus.axc configuration file <- save your configuration here
------Application_2
-------- *.axc configuration file <- save your configuration here
--Client <- here is your Ax32.exe.
--Server <- here is your Ax32Serv.exe
--StartUp
------Application_1
-------- usr.bat with one line. In this case this would be \\SRV01\AX5\Client\Bin\Ax32.exe \\SRV01\AX5\AXC\Application_1\usr.axc
-------- cus.bat with one line. In this case this would be \\SRV01\AX5\Client\Bin\Ax32.exe \\SRV01\AX5\AXC\Application_1\cus.axc
------Application_2
-------- *.bat with one line. In this case this would be \\SRV01\AX5\Client\Bin\Ax32.exe \\SRV01\AX5\AXC\Application_1\*.axc
А вот пример файла *.axc
Configuration export file for Dynamics
Formatversion: 1
Configuration: usr.axc
logdir,Text,C:\Users\Public\Microsoft\Dynamics Ax\Log\ <------------- change this but it's up to you
company,Text,
startupcmd,Text,
extracmdline,Text,
startupmsg,Text,
aos2,Text,AOS_Instance_Name@SRV01:2712 <------------- change this
aosencryption,Text,1
xppdebug,Text,1
globalbreakpoints,Int,1
aol,Text,usr
aolcode,Text,
traceeventsenabled,Text,1
tracestart,Int,0
tracexppmethodcalldepth,Text,3
client,Text,thin
_clientmode,Int,0
sql,Int,1
native,Int,0
hassqlpwd,Int,0
localappldoc,Int,0
localsysdoc,Int,0
applshare,Int,1
applexclusive,Int,0
hascompwd,Int,0
hasserveridletimeout,Int,0
allowunauth,Int,0
windowsauth,Text,1
sqloraclefirstrowsfix,Text,0
hasocipwd,Int,0
dbunicodeenabled,Text,1
cachesynctime,Text,
caslevel,Text,enable
language,Text,
_clientadname,Text,
aos,Text,
application,Text,
bindir,Text,\\SRV01\AX5\Client\Bin <------------- change this
broadcast,Text,
compwd,Text,
connectionidletimeout,Text,
createdsn,Text,
database,Text,AXDB <------------- change this
datadir,Text,\\SRV01\AX5\Client\Data <------------- change this
dbcli,Text,odbc
dbserver,Text,SRV01 <------------- change this
directory,Text,\\SRV01\AX5\Client <------------- change this
dsn,Text,
exposeserverprinters,Int,0
fetchahead,Text,
haswarnings,Int,0
hint,Text,
ignoredatasourceindex,Text,0
installationlanguage,Text,EN-US
internet,Text,SRV01
log,Text,
newconnectionretrycount,Text,
newconnectionretrydelayms,Text,
ociconnectservice,Text,1
ocidbid,Text,
ocihost,Text,
ociservice,Text,
ocitcpipport,Text,1521
opencursors,Text,
port,Text,
preloadthresholdmsec,Text,
preloadthresholdrecords,Text,
querytimelimit,Text,
retry,Text,
serveridletimeout,Text,
servermask,Text,2712 <------------- change this
sqlbuffer,Text,
sqlcomplexliterals,Text,1
sqlformliterals,Text,1
sqlpwd,Text,
sqltrace,Text,0
sqluser,Text,
user,Text,
warnings,Text,
tracemaxfilesize,Text,10000
tracebuffersize,Text,1024
tracemaxbuffers,Text,120
traceminbuffers,Text,30
traceallowclient,Int,0
Важное примечание: установите клиент AX 2009 на каждом клиентском ПК. Во время установки вам будет предложено указать AOS - указать любое значение. Этот локально установленный клиент AX 2009 был необходим, поскольку он использует несколько дополнительных сборок, которых нет в GAC.
Напоследок - как запустить AX? Просто запустите файл *.bat. Надеюсь, я был достаточно ясен и надеюсь, я понял, что вы искали))
Если вам удастся развернуть ключи реестра на клиентах, решение будет примерно таким:
- Экспортируйте соответствующие конфигурации AX из реестра (обычно их можно найти в HKCU\Software\Microsoft\Dynamics\5.0\Configuration), импортируйте их на целевой компьютер (во время входа в домен и т. Д.)
- Создайте lnk для приложения Ax32 и укажите параметр командной строки: -regconfig=
например: Ax32.exe -regconfig=LIVE
Теперь, когда я набираю это, я понял дополнительную проблему с этим решением, которая опять-таки заключается в этих путях... Однако легко создать и поддерживать две версии файлов lnk (одну для 32 и другую для 64-битных сред).. И реестр такой же. Надеюсь, поможет!
Просто поставьте оба пути:
directory,Text,C:\Program Files\Microsoft Dynamics AX\50\Client
directory,Text,C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin