Hello, All!

В силу обстоятельств вынуждены мы работать, вкушая все прелести механизма UAC от Microsoft по виртуализации (а по сути запрету) записи в Program Files.

Много мы с эим получаем проблем, полностью осознавая неправильность подхода. Но пока работали.

Обновление метаданных у нас делается такой вот командой:

isql.exe -ch WIN1251 -s 3 -q -b -n -i ..\sql-mdo\020\update.sql -u SYSDBA -p masterkey "C:\Program Files\Morion\MDS3050\2.0\fdb\mdo.fdb" -o "..\log\\meta020error.txt" -m

Все работало, пока не перешли на 2.5.0, для isql.exe которого не срабатывает эта самая виртуализация.

Причиной оказалось явное указание requestedExecutionLevel в манифесте <requestedExecutionLevel level="asInvoker"> Что, по документации, отключает эту самую виртуализацию, хотя для вызывающего приложения она есть.
http://msdn.microsoft.com/en-us/library/bb756929.aspx

И в общем сейчас стою перед диллемой - перевести пользователей c включенным UAC на нормальную работу в ближайшее время не получится (нужно обеспечить сохранность данных, которые уже завиртуализировались), а обновить их в ближайший релиз нужно.

Похоже что единственным выходом будет включение в дистрибутив патченной isql :-/

--
-=Взрослые не верят в Деда Мороза. Они верят прогнозам погоды и ходят на выборы.=- With best regards, Nikolay Ponomarenko

Ответить