31.08.2011, 19:40 | #1 |
Участник
|
перенос откомпилированного приложения
в продолжение своей темы о разной скорости компиляции хочу спросить, возможно ли просто перенести откомпилированное (глобальная компиляция) приложение с одной машины на другую?
насколько я понял из документации, при глобальной компиляции изменяется содержимое aod-файлов для каждого слоя. то есть никакой привязки к машине, на которой происходит компиляция нет. соответственно после простого переноса файлов должно быть достаточно выполнить синхронизацию с базой данных. это так? какие есть засады на этом пути? спасибо
__________________
Felix nihil admirari |
|
31.08.2011, 19:51 | #2 |
Участник
|
Цитата:
меняется aoi-файл и другие другие *.??i-файлы а также возможно, alt индексы не привязаны к слоям. вполне можно копировать откомпилированное приложение. важно помнить одно - если копируется из каталога с работающей аксаптой, то индексы не скопируются или могут быть скопированы неправильно. нужно остановить все АОСы и только после этого копировать. |
|
31.08.2011, 19:56 | #3 |
Участник
|
Цитата:
Сообщение от mazzy
aod-файлы не меняются.
меняется aoi-файл и другие другие *.??i-файлы а также возможно, alt индексы не привязаны к слоям. вполне можно копировать откомпилированное приложение. важно помнить одно - если копируется из каталога с работающей аксаптой, то индексы не скопируются или могут быть скопированы неправильно. нужно остановить все АОСы и только после этого копировать. а вот что пишут в документации на 4 странице Chapter 4: Installing a Base System Installation and Configuration in Microsoft Dynamics® AX 2009 Compile Application The Compile Application function updates the references and makes sure that the application is ready for use. This process can take an hour or more to run, depending on the computer's hardware. This is step is required to initialize the system. When the application is compiled, the application source code is translated into binary code that can be interpreted by the kernel. The binary code is stored in the .aod file. или мы о разных вещах говорим? собственно меня интересует оптимальный путь инсталляции ролапов, хотфиксов и прочих апгрейдов системы
__________________
Felix nihil admirari |
|
31.08.2011, 20:02 | #4 |
Участник
|
начал сомневаться.
послушаем что скажут другие. |
|
31.08.2011, 21:43 | #5 |
Участник
|
На сколько я понимаю при компиляции происходит пересборка бинарного кода. Т.е. если например была изменена константа в каком-нибудь макросе, то при компиляции измениться и бинарный код и как следствие изменится aod файл.
В любом случае просто переноса файлов и их переиндексации вполне достаточно. Повторная компиляция, имхо, излишня. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
31.08.2011, 21:50 | #6 |
Участник
|
Цитата:
Сообщение от S.Kuskov
На сколько я понимаю при компиляции происходит пересборка бинарного кода. Т.е. если например была изменена константа в каком-нибудь макросе, то при компиляции измениться и бинарный код и как следствие изменится aod файл.
В любом случае просто переноса файлов и их переиндексации вполне достаточно. Повторная компиляция, имхо, излишня.
__________________
Felix nihil admirari |
|
31.08.2011, 22:06 | #7 |
Administrator
|
В 3.0 и 4.0 было четкое ощущение, что откомпилированный код сохраняется в *.aod-файлах. Собственно - сам откомпилированный код можно увидеть в таблице UtilElements в поле Code. Точнее можно увидеть, что это BLOB-поле .
Когда обновляли версию слоями - то было все ок. В 2009 обратил внимание на то, что после обновления слоем - возникает потребность в перекомпиляции слоя. Не знаю почему - но факт. Отсюда вывод - все же что-то в индексах хранится в 2009
__________________
Возможно сделать все. Вопрос времени |
|
31.08.2011, 22:08 | #8 |
Участник
|
опаньки! стало быть, при компиляции что-то складируется в базу данных, и соответственно простым переносом горю не помочь!
__________________
Felix nihil admirari |
|
31.08.2011, 22:11 | #9 |
Участник
|
UtilElements, UtilIdElements - это псевдотаблицы.
Их нет в базе данных, а сами данные онb как раз берут из aod-файлов (или из кэша, если он есть). Собственно, эти файлы и являются базой данных в специальном формате. Насчет aoi-файла. Ну, это аналог обычных индексов в базе данных. Можно без них, но с ними намного быстрее
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
31.08.2011, 22:11 | #10 |
Участник
|
|
|
31.08.2011, 23:06 | #11 |
Участник
|
У нас не было проблем с этим никогда. Был такой случай, когда отчет строился за 2 мин, вдруг стал строиться за 10 мин. Почистили статистику на SQL, и все встало на свое место
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
01.09.2011, 09:50 | #12 |
Участник
|
Цитата:
Нужна лишь синхронизация, если были изменения в словаре БД X++: set service="Dynamics AX Object Server 5.0$01-DynamicsAxDev" set TODIR=C:\Program Files\Microsoft Dynamics AX\50\Application\Appl\proto\ set FRDIR=\\axserver\c$\Program Files\Microsoft Dynamics AX\50\Application\Appl\axapta\ net stop %service% del "%TODIR%*.*" /Y xcopy "%FRDIR%*.*" "%TODIR%" /f /Y net start %service% pause 0 Последний раз редактировалось someOne; 01.09.2011 в 09:53. |
|
|
За это сообщение автора поблагодарили: wildguess (1). |
12.09.2011, 08:12 | #13 |
Участник
|
Ребята, вопрос по существу .
AX 2009. Опустил разработку с usr слоя на слой ниже, предваритель удалив эту разработу с usr, откомпилировал, обновил перекрёстные ссылки, перезапустил AOS, но размер usr слоя осталcя прежним. По идеи слой должен уменьшиться, если удалить с него изменения. Я что то не то сделал, что то пропустил? |
|
12.09.2011, 10:39 | #14 |
Axapta
|
Удаленные объекты из aod-файлов не удаляются. Размер aod-файла никогда не уменьшается.
|
|
|
За это сообщение автора поблагодарили: Logger (3), Sergikrus (1). |
12.09.2011, 11:58 | #15 |
Участник
|
Есть ещё один небольшой вопрос.
Получили разработку выгруженнцю в *.xpo, накатил на слой usr, протестировал. Настало время опустить разработку на слой ниже, а конкретно на BUS. В приложении для разработок после наката на слой и после рестарта AOS получил несколько ошибок от класса Info и Application, но всё поченилось глобальной компиляцией. Следующим этапом необходимо перенести на тестовое приложение слой с этой разработкой (это давняя практика и ничего не хорошего не случалось). После подставки слоя, AOS стартанул после 3 попытки, а при запуске приложения получаю теже ошибки что и на приложении для разработок, но в этом случае вприложение завершается и откомпилировать ничего не выходит. Как быть? Вот ошибки что возникают при старте приложения: |
|
12.09.2011, 15:06 | #16 |
Участник
|
|
|