22.09.2010, 11:29 | #1 |
Ищущий знания...
|
Service Pack из кода....
Тут передо мной встал вопрос: "Как вывести Service Pack из кода и возможно ли вообще такое?" Поискал по системным классам (Info, Application, Global) ничего не нашел.
Немного покумекав родилось такое: X++: static void getServicePack(Args _args) { container con; ; con = WinApi::getVersion(); info(strFmt('%1', conPeek(con, 5))); } P.S. вопрос, а в других версиях аксапты он тоже отработает нормально? кому не трудно попробуйте у себя, уталите моё любопытство
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
22.09.2010, 11:38 | #2 |
Модератор
|
На Ax 2009 SP1 работает.
Только у меня нет сервис пака, поэтому 5 элемент контейнера пуст. Microsoft Windows Server 2008 R2 [Version 6.1.7600]
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
|
За это сообщение автора поблагодарили: lev (4). |
22.09.2010, 11:42 | #3 |
Участник
|
А ApplicationVersion::buildNo() не подходит? Там не всегда указывается какой именно SP, но по номеру указанному там и по этой табличке можно написать нехитрый switch для перевода номера в читабельный вид.
|
|
|
За это сообщение автора поблагодарили: lev (3). |
22.09.2010, 11:43 | #4 |
Ищущий знания...
|
Ну понятное дело, что если нет сервис пака то будет пусто Спасибо большое!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
22.09.2010, 11:49 | #5 |
Ищущий знания...
|
Цитата:
Сообщение от _scorp_
А ApplicationVersion::buildNo() не подходит? Там не всегда указывается какой именно SP, но по номеру указанному там и по этой табличке можно написать нехитрый switch для перевода номера в читабельный вид.
но тогда уже больше подойдет ApplicationVersion::releaseVersion(). единственное что настораживает, это то, что в этом классе используются константы. Т.е. если вдруг у разработчика в Microsoft дрогнет рука можем получить напрмер SP33 Поэтому мне кажется надежнее WinApi::getVersion(), но это мое ИМХО
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
22.09.2010, 11:50 | #6 |
Модератор
|
Цитата:
Сообщение от _scorp_
А ApplicationVersion::buildNo() не подходит? Там не всегда указывается какой именно SP, но по номеру указанному там и по этой табличке можно написать нехитрый switch для перевода номера в читабельный вид.
Как я понял lev(y) надо Service Pack самой операционной системы. Судя по коду в первом посте.
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
22.09.2010, 11:56 | #7 |
Модератор
|
Цитата:
Сообщение от lev
Не знал про этот класс, спасибо
но тогда уже больше подойдет ApplicationVersion::releaseVersion(). единственное что настораживает, это то, что в этом классе используются константы. Т.е. если вдруг у разработчика в Microsoft дрогнет рука можем получить напрмер SP33 Поэтому мне кажется надежнее WinApi::getVersion(), но это мое ИМХО WinApi::getVersion() - версия ОС Вот ролик немного приоткрывающий информацию о билдах: Developers and IT professionals will learn about the patching strategy and how to apply an application hotfix to a Microsoft Dynamics AX installation. lev тебе SP аксапты или ОС надо?
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
|
За это сообщение автора поблагодарили: lev (7). |
22.09.2010, 12:02 | #8 |
Ищущий знания...
|
Цитата:
Сообщение от Poleax
ApplicationVersion::releaseVersion() - версия аксапты
WinApi::getVersion() - версия ОС Вот ролик немного приоткрывающий информацию о билдах: Developers and IT professionals will learn about the patching strategy and how to apply an application hotfix to a Microsoft Dynamics AX installation. lev тебе SP аксапты или ОС надо? Теперь все встало на свои места. Мне нужен был Service Pack приложения аксы! Теперь я знаю что нужно использовать и для аксы, и для Windows. Ещё раз спасибо Poleax!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
22.09.2010, 12:03 | #9 |
Участник
|
Ax 4.0
Windows Server 2003 R2 sp1 джоб работает |
|
|
За это сообщение автора поблагодарили: lev (4). |
22.09.2010, 12:12 | #10 |
MCP
|
lev, не работает выводится пустое сообщение, 5-ый элемент пустой
AX 2009 SP1 Kernel 5.0.1000.52 Application 5.0.1200.1313 |
|
|
За это сообщение автора поблагодарили: lev (4). |
22.09.2010, 12:18 | #11 |
Ищущий знания...
|
Как уже написал Poleax значит на вашей ОС не стоит никакого сервис пака
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
22.09.2010, 12:20 | #12 |
Сам.AX
|
И на DAX 4.0 работает, Kernel ver: 4.0.2509.724 App ver 4.0.2501.347
Упс, пока скриншот делал не заметил что по 4-ке уже ответ был...
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам." Поль Валери Последний раз редактировалось driller; 22.09.2010 в 12:32. |
|
|
За это сообщение автора поблагодарили: lev (4). |
23.09.2010, 15:51 | #13 |
Участник
|
Axapta 3.0 SP1
Судя по всему, работает везде, где в ОС SP имеется в наличии.
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 23.09.2010 в 15:54. |
|
23.09.2010, 15:55 | #14 |
Ищущий знания...
|
ага, это и требовалось доказать
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
20.10.2010, 14:02 | #15 |
Ищущий знания...
|
случайно подсмотрел в классе SysTrace ещё один способ получения информации по аксапте из кода (название, SP, build)
X++: info(xInfo::productName()); info(xInfo::releaseVersion()); info(xInfo::buildNo());
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: leva (1), kornix (1). |
Теги |
программирование |
|
|