Comments 20
Я бы обязательно добавил в статью возможность регистрации COM серверов в пределах приложения (без каких-либо записей в реестр).
+4
На тему DLL hell вспомнилось... Сорри за оффтоп.
+1
А я думал, будет ссылка на A Brief History of Windows Programming Revolutions.
+2
хмм. то есть если ресхаком у инсталятора порезать uac строки, то можно будет на работе без прав себе игруху поставить?
-1
Нет, конечно.
Если нет прав для записи в каталоги установки и ветки реестра — ничего не выйдет.
Еще и цифровая подпись слетит (если есть) — еще один флаг, для запрета через политики и / или антивирусы.
Но небольшой шанс конечно появится. Если нет строгих политик, программа не пишет в системные папки / реестр, не устанавливает драйвера, и позволяет выбрать каталог для установки или пишет в пользовательский каталог.
Например, так делают Google Chrome и Mail-агент.
Если нет прав для записи в каталоги установки и ветки реестра — ничего не выйдет.
Еще и цифровая подпись слетит (если есть) — еще один флаг, для запрета через политики и / или антивирусы.
Но небольшой шанс конечно появится. Если нет строгих политик, программа не пишет в системные папки / реестр, не устанавливает драйвера, и позволяет выбрать каталог для установки или пишет в пользовательский каталог.
Например, так делают Google Chrome и Mail-агент.
0
Но они появляются в «Программы и компоненты» в виде установленных программ и для их удаления необходимы админские права (справедливо для XP), вот как они это делают и зачем?
0
Если вашей игрушке хватит того, что позволяет делать виртуализация файловой системы и реестра, то возможно она будет нормально работать. Правда есть один нюанс: если винда видит в названии программы слова наподобие setup или install, она считает их инсталляторами и запрашивает права админа. Это касается и тех файлов, которые распаковываются только на время инсталяции.
В общем проще упаковать игрушку в виртуальный контейнер, и надеятся, что ей хватит установленых в системе драйверов.
В общем проще упаковать игрушку в виртуальный контейнер, и надеятся, что ей хватит установленых в системе драйверов.
+1
Декларирование совместимости
Вы тут главную вещь забыли. Если вы не объявите о совмести с используемой версией Windows и у вас произойдет не обработанное исключение, то Windows после закрытия программы будет запускать средство устранения проблем с совместимостью программы (как-то так оно называется).
0
Да, я давал ссылку на страничку MSDN, где это описано. Отдельно в статье я не стал об этом писать потому, что мне эта тема показалась не особо важной.
0
В Windows 8.1 появилась возможность указывать разный масштаб разным мониторам, если подключено сразу несколько.К сожалению, работает это нормально только в полноэкранных (Metro) приложениях. В новом режиме в Win 8.1 обычные Desktop (Win32) приложения просто рисуются в DPI, который вы выберете, а потом скалируются DWM-ом в разрешение монитора. Короче говоря, это лучше, чем было, но всё равно не юзабельно. После 5 минут чтения начинают болеть глаза и голова.
Пользуясь случаем, передаю привет всем продуктам Adobe, а также Google Chrome (включение через реестр не решает проблему), Skype, GoToMeeting и Dropbox, которые не поддерживают Hi-DPI в 2014-м году.
0
Приложения должны поддерживать эту фишку. Даже те, которые умеют нормально масштабироваться на одном мониторе, придется серьезно переделывать. Так что ничего удивительного, что еще почти нету софта который нормально работает в таких условиях.
Что касается Хрома, то я сам сильно удивился, когда узнал. У Лисы с этим намного лучше, а если дополнительно юзать плагин NoSquint, так вообще отлично.
Что касается Хрома, то я сам сильно удивился, когда узнал. У Лисы с этим намного лучше, а если дополнительно юзать плагин NoSquint, так вообще отлично.
0
А есть у вас примеры таких работающих приложений?
0
Мне проверить неначем. Но правильные значения в манифестах есть у SndVol.exe и mstsc.exe. Проводник наверное также поддерживает эту фишку, но у него в манифесте нестандартное значение параметра dpiAware равное «Explorer». Еще можно попробовать глянуть в свежем офисе.
+1
Sign up to leave a comment.
Зачем Win32-приложению манифест?