[Vista] Нужно ли как-то специально изворачиваться..
По умолчанию проги запускаются с ограниченными правами, они не могут писать в 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
А в остальном все хорошо.А в остально, прекрасная маркиза, Всё хорошо, всё хорошо.
с сокетами всё в порядке?
Про сокеты не знаю, не пробовал.
Кстати о птичках. За пару месяцев пользования вистой обнаружил, что некоторые программы под ней не всегда могут корректно запуститься. Первая была FontLab Studio, которая падала при старте, ругаясь на какую-то ошибку. Вторая - Opera 9, которая не может инициализировать M2 (почтовую службу если во время закрытия одного экземпляра оперы открыть второй (а закрывается опера довольно долго, секунд 30 на очень мощьном компе - запросто). Обе проблемы полечились выставлением совместимости с Win XP в ярлыках программ. Почему именно возникали проблемы разбираться в лом, но, видимо, не всё так просто...
Афаик большинство обратных несовместимостей между вистой и xp - это когда в xp был какой-то баг, в висте его пофиксили, а разработчики старых программ случайно допустили баг в своей программе, который был нейтрализован багом в самой винде.
пургу гонишь какую-то
например, такая же фигня была, при чем в массовом порядке, при переходе с 98 на xp.
в 98 была бага - допускались обращения к невыделенной памяти, в xp начала это проверяться - и проги начали активно сыпаться.
в 98 это скорее не бага, а убогость реализации виртуальной памяти. и это беда разработчиков, что они не отдают себе отчёт, как правильно использовать те или иные фичи.
Конечно, но беда разработчиков, которые пользуются недокументированными фичами, становится головной болью производителя ОС, когда куча старых приложений отказывается работать на новой версии ОС.
Оставить комментарий
yolki
чтобы программа заработала?Почему существуют проги, которые под вистой не идут?
Может, какое-то специально API должно быть типа как у сервиса?