[Vista] Нужно ли как-то специально изворачиваться..

yolki

чтобы программа заработала?
Почему существуют проги, которые под вистой не идут?
Может, какое-то специально API должно быть типа как у сервиса?

karkar

Обычно почти не нужно.
По умолчанию проги запускаются с ограниченными правами, они не могут писать в Program Files и в реестр вроде HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT. Могут быть и другие ограничения, сейчас не помню. Мой опыт работы с вистой и написания для нее показал, что она прозрачно перенаправляет всю запись в Program Files в специальное место в каталоге пользователя, программа даже ничего не замечает. Т.е. если прога пишет и читает из PF, то все работает, хотя MS сильно не советует так делать и рекомендует спрашивать у системы пути спец. мест для хранения данных.
Часть записей в реестр тоже автоматически перенаправляется. Причем, если прога в явном виде запущена с админскими правами, то она может везде писать, перенаправления не происходит. В итоге выходит, что одни и те же настройки могут существовать в системе параллельно в массе мест, консистентность нарушается, и, к примеру, Internet Explorer легко может разучиться показывать все PNG, просто потому что юзер поставил себе фотошоп или еще что-то. Или система может забывать браузер по умолчанию - одни операции будут запускать FF, другие - IE, третьи возвращать File not found. С обоими эффектами (про PNG и браузер по умолчанию) я сам столкнулся.
Еще сталкивался, что один и тот же метод в одной и той же версии .NET Framework может по-разному работать в XP и Vista. Конкретно - сортировка TreeView в висте висла, а в XP работала, запускался один и тот же exe.
А в остальном все хорошо. :) Если аккуратно подходить к размещению данных на диске и в реестре, и не заниматься чем-то экстремальным, то все работает без изворотов.
//Edit: TreeView вместо ListView

klyv

А в остальном все хорошо.
А в остально, прекрасная маркиза, Всё хорошо, всё хорошо.

yolki

с сокетами всё в порядке?

karkar

Про сокеты не знаю, не пробовал.

sbs-66

Кстати о птичках. За пару месяцев пользования вистой обнаружил, что некоторые программы под ней не всегда могут корректно запуститься. Первая была FontLab Studio, которая падала при старте, ругаясь на какую-то ошибку. Вторая - Opera 9, которая не может инициализировать M2 (почтовую службу если во время закрытия одного экземпляра оперы открыть второй (а закрывается опера довольно долго, секунд 30 на очень мощьном компе - запросто). Обе проблемы полечились выставлением совместимости с Win XP в ярлыках программ. Почему именно возникали проблемы разбираться в лом, но, видимо, не всё так просто...

kruzer25

Афаик большинство обратных несовместимостей между вистой и xp - это когда в xp был какой-то баг, в висте его пофиксили, а разработчики старых программ случайно допустили баг в своей программе, который был нейтрализован багом в самой винде.

yolki

пургу гонишь какую-то

Dasar

стандартная проблема.
например, такая же фигня была, при чем в массовом порядке, при переходе с 98 на xp.
в 98 была бага - допускались обращения к невыделенной памяти, в xp начала это проверяться - и проги начали активно сыпаться.

yolki

в 98 это скорее не бага, а убогость реализации виртуальной памяти. и это беда разработчиков, что они не отдают себе отчёт, как правильно использовать те или иные фичи.

kruzer25

Конечно, но беда разработчиков, которые пользуются недокументированными фичами, становится головной болью производителя ОС, когда куча старых приложений отказывается работать на новой версии ОС.
Оставить комментарий
Имя или ник:
Комментарий: