Установка.NET Framework без прав администратора

Я занимаюсь разработкой приложения на C# WinForms для VS2010, и его целевой аудиторией являются дети в возрасте 8-14 лет. По моим оценкам, около 30% моих пользователей не будут иметь административного доступа на своих компьютерах, и поэтому не смогут установить мое приложение, если их родители не установят его для них.

Есть ли способ установить.NET Framework без административных прав или каким-либо образом связать необходимые компоненты.NET с моим приложением? В настоящее время я занимаюсь разработкой для.NET Framework 4, но я мог бы легко изменить свой код, чтобы он работал с.NET 2 или 3.5, если это необходимо.

6 ответов

Решение

Я рекомендую не пытаться разработать программу для детей, которая явно пытается обойти административный доступ только потому, что родители должны были бы вмешаться. Родителям СЛЕДУЕТ участвовать в программном обеспечении, которое дети устанавливают на свои компьютеры.

Некромантия, так как сейчас 2018 год.
Да, ты можешь. .NET-Core позволяет выполнять так называемое автономное развертывание.

Окна-x86-32:

dotnet restore -r win-x86
dotnet build -r win-x86
dotnet publish -f netcoreapp2.0 -c Release -r win-x86

Окна-x86-64:

dotnet restore -r win-x64
dotnet build -r win-x64
dotnet publish -f netcoreapp2.0 -c Release -r win-x64

Для получения дополнительной информации: Понимание.Net Core и Mono и .NET Core против Mono

Тем не менее, WinForms и WPF будут поставляться с.NET Core 3.0 в 2019 году.
Если вы используете WPF, вам не повезло. Но если вы используете WinForms, вы можете использовать моно реализацию WinForms, скомпилированную для NetStandard 2.0+.

Я сделал это здесь:
https://github.com/ststeiger/System.CoreFX.Forms

Однако это означает, что вы должны ограничить себя частями WinForms, которые реализует mono (в настоящее время).

Есть также фреймворк Avalon, если вы хотите заниматься кроссплатформенной разработкой.

Или вы можете просто сделать все в браузере и запустить сервер + веб-браузер на клиенте - это должно работать везде. особенно если вы включите Chrome/Chromium для всех пользователей Windows.

Невозможно запустить приложения.NET без предварительной установки.NET на вашем компьютере, и да, установка требует прав администратора. Разрешение этого для обычных пользователей подорвало бы весь смысл наличия ограничений доступа в первую очередь.

Вполне возможно, хотя и не обязательно практично, установить приложение, включая.net Framework, без конечного пользователя с правами администратора. Общая категория того, что вы хотите сделать, называется Application Virtualization. Мы используем VMWare ThinApp, технологию виртуализации приложений, аналогичную Spoon, упомянутой в предыдущем посте в этой теме. Другие приложения в этой категории включают Cameyo (www.cameyo.com) и InstallAware (www.installaware.com/virtualization/).

Вы также можете выполнить веб-поиск "Виртуализация приложений" и найти другие результаты. Вы можете игнорировать Microsoft App-V и Citrix XenApp, поскольку эти решения предназначены для предприятий, которые хотят виртуализировать приложения для внутреннего развертывания в корпоративной сети.

Вы можете попробовать использовать нулевой установщик, например, http://spoon.net/, который может создавать отдельные файлы приложений.NET с возможностью включения определенной.NET Framework в нулевой установщик. Вы можете разместить их на ложке для потоковой передачи на клиентский компьютер или выбрать развертывание отдельного файла самостоятельно с помощью Spoon Studio (http://spoon.net/Studio/)

Это старый вопрос, но похоже, что Microsoft планирует использовать функцию .NET Native, которая в какой-то момент позволит вам компилировать автономные приложения на C#, которые не зависят от устанавливаемого.NET Framework, так что теоретически это избавит от огромной головной боли. участвует в попытке распространения приложений.NET, ориентированных на более новые версии Framework, среди пользователей, не имеющих прав администратора.

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

Просто загрузите двоичные файлы со страницы загрузки dotNet Core и выберите "двоичный установщик". Затем извлеките SDK, куда захотите.

Затем добавьте путь в качестве новой переменной пути пользователя. В меню "Пуск" введите "среда" и выберите " Изменить переменные среды для своей учетной записи". Затем добавьте новую переменную под названием MSBuildSDKSsPath со значением места, где вы извлекли двоичные файлы.

Для меня я извлек двоичные файлы в C:\dev\dotnetCore, поэтому я установил значение как C:\dev\dotnetCore, Быстрый перезапуск Visual Studio позже и.Net Core 2.1 и выше теперь появляется в моих доступных средах targer.

Другие вопросы по тегам