Установка приложения в системе Windows в защищенной среде - PullRequest
0 голосов
/ 14 января 2010

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

Ответы [ 2 ]

2 голосов
/ 21 января 2010

Это зависит от того, что попытается сделать ваш установщик. Если ему необходимо выполнить запись в защищенную папку (например, «Program Files») или в защищенную часть реестра (включая все, что находится в HKEY_Local_Machine), то он должен работать с привилегиями, более высокими, чем у пользователей с ограниченными правами. Если он просто собирается поместить какой-либо файл в собственную папку «Документы и настройки» пользователя или поместить ярлыки в меню «Пуск» пользователя, то по умолчанию это не проблема.

Один хитрый момент - это значение "Безопасная среда". Администраторы могут использовать групповую политику для блокировки службы установщика Windows, и если это одна из мер, которые они сделали для защиты среды, то, конечно, обычные пользователи будут заблокированы.

Другая возможная проблема заключается в том, что UAC считает, что вашей установке потребуются более высокие привилегии, чем на самом деле. Вы можете предотвратить это, используя манифест приложения, чтобы явно сказать UAC, что вы согласны с установкой, запущенной от имени пользователя с ограниченными правами.

1 голос
/ 14 января 2010

К сожалению, вы работаете против набора функций современных операционных систем, которые пытаются сделать трудным для людей, устанавливающих программное обеспечение. представьте, могут ли вредоносные приложения быть установлены пользователями с ограниченными правами; это то место, где мы были (многое еще есть) и над чем мы пытаемся работать.

приложения, написанные для Windows, которым не нужно много привилегий, просто не смогут делать что-то за пределами «песочницы», которую им дают.

примером этого может быть Silverlight или развернутые в Интернете приложения WPF.

если он будет взаимодействовать с вашим жестким диском, сетевыми ресурсами, реестром, COM-портами, сложными операциями с памятью и т. Д., Ему потребуются некоторые привилегии. как минимум, его нужно будет написать и скомпилировать для фреймворка, такого как java / silverlight / etc, который, хотя и имеет «песочницу» для жизни, имеет набор вещей, которым он уже разрешен.

...