powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пример написания инсталлятора для Cache/Ensemble
8 сообщений из 8, страница 1 из 1
Пример написания инсталлятора для Cache/Ensemble
    #35148284
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35148459
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратившись к указанному автором первоисточнику, читаем: первоисточникCaché 5.0.x has a limitation that requires more work to be done to import classes from an XML file. The following steps work around this limitation by using cbootuser.rsa, update.rsa, and a special ^ZSTUINSTALL routine designed to run only once.Господа из ИнтерСистемз, тщательней надо :) Давно уж нет этого "limitation", в cbootuser.int можно делать все что угодно, в т.ч. создавать базы и области, импортировать XML и т.д.
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35148821
Rus000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно многое но к сожалению не все - мы несколько раз обламывались на 5.2
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35148869
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и интересно получить комментарии на исходном блоге или форуме.

В любом случае материал полезный, особенно для тех, кто еще не решал эту задачу.

Вадим
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35148951
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожадению, яв cbootuser.int можно делать все что угодно, в т.ч. создавать базы и области, импортировать XML и т.д.Виноват, поторопился. Импортировать XML действительно можно, но создавать базы и области - еще нет. Поэтому автор прав! Если бы даже всё сказанное выше можно было делать в cbootuser.int, любой "косяк" - и начинай установку заново. В случае ошибок в ZSTU ситуация не столь фатальна, в крайнем случае можно стартовать без него, отключив его в cache.cpf, т.е. существенно облегчается отладка.
Единственное ИМХО, лучше использовать SYSTEM^%ZSTART. В доке ведь даже есть ремарка, что ZSTU - это "legacy", а %ZSTART - более систематично. К тому же, крайне неудобно разбираться в системе, где есть они обе (один раз мне встретилась установка, где существовали и
%ZSTART.INT, и %ZSTART.MAC, причем админы редактировали первый из них, не подозревая о существовании второго... :)
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35149055
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov К сожадению, яв cbootuser.int можно делать все что угодно, в т.ч. создавать базы и области, импортировать XML и т.д.Виноват, поторопился. Импортировать XML действительно можно, но создавать базы и области - еще нет. Поэтому автор прав! Если бы даже всё сказанное выше можно было делать в cbootuser.int, любой "косяк" - и начинай установку заново. В случае ошибок в ZSTU ситуация не столь фатальна, в крайнем случае можно стартовать без него, отключив его в cache.cpf, т.е. существенно облегчается отладка.
Единственное ИМХО, лучше использовать SYSTEM^%ZSTART. В доке ведь даже есть ремарка, что ZSTU - это "legacy", а %ZSTART - более систематично. К тому же, крайне неудобно разбираться в системе, где есть они обе (один раз мне встретилась установка, где существовали и
%ZSTART.INT, и %ZSTART.MAC, причем админы редактировали первый из них, не подозревая о существовании второго... :)

Почему же нельзя создать базы с областями в cbootuser.rsa??? Как раз-таки можно...
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35149958
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчера попробовал вставить в мой (уже изрядно распухший) cbootuser.int следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 s step="cbootcfg" s rc=$$cbootcfg("QMS","e:\temp\")
 ...
cbootcfg(ns,path) ;
 n mess,rc s mess="* Create dataset and namespace" d log(mess)
 s rc=##Class(Config.Configuration).CreateDatabase(ns,path_ns, 10 )
 if 'rc d $system.OBJ.DisplayError(rc) g cbootcfgex
 s rc=##Class(Config.Configuration).AddNamespace(ns,ns)
 if 'rc d $system.OBJ.DisplayError(rc) g cbootcfgex
cbootcfgex
 q rc
Код рабочий - я сперва проверил его в установленной Каше. Но во время инсталляции выдало:
Код: plaintext
1.
* Create dataset and namespace
ERROR # 645 : Configuration 'F:\Cache52\Cache.cpf' does not exist.
Т.е., я так понял, что в момент вызова cbootuser "штатный" файл конфигурации еще не создан.
...
Рейтинг: 0 / 0
Пример написания инсталлятора для Cache/Ensemble
    #35150983
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение: файл-то создан, но конфигурация неактивна. А с неактивной конфигурацией API конфигурирования Cache (кстати, весьма неважно документированное, по кр. мере в 2007.1.3) работать отказывается. Код
Код: plaintext
1.
s file=##class(Config.Configuration).StartupConfiguration()
s cfg=##class(Config.Configuration).NameIndexOpen(file)
возвращает cfg="", хотя файл гарантированно существует. Похоже, выхода всего два: либо парсить cpf-файл самому, либо прислушаться к автору топика.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пример написания инсталлятора для Cache/Ensemble
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]