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