Возможно ли развернуть автономное приложение .NET Framework?

Я разрабатываю приложение C#.Net, использующее .Net Framework, но у меня возникают проблемы, когда пользователи устанавливают приложение на свои компьютеры. Некоторые из них просто не знают, как установить .Net Framework.

Я ищу решение этой проблемы и нашел автономное развертывание в приложениях .Net Core.

Проблема в том, что мое приложение не использует .Net Core, это приложение WPF.

Я уже ищу в Интернете, и все решения, которые я нахожу, приводят меня к автономному развертыванию .Net Core.

Что можно сделать, чтобы развернуть «автономное» приложение .Net Framework?

Заранее спасибо.


person underthevoid    schedule 16.02.2019    source источник
comment
На какую ОС они устанавливаются? Какая версия?   -  person Cameron MacFarland    schedule 16.02.2019
comment
Вы слышали о развертывании ClickOnce? Это довольно круто, и я обычно использую его для развертывания на общем диске, чтобы все мои пользователи устанавливали приложения и обновления.   -  person Miguel    schedule 16.02.2019
comment
@CameronMacFarland Целевая ОС — Windows x86. Мне нужно, чтобы приложение работало во всех версиях Windows от XP до 10.   -  person underthevoid    schedule 16.02.2019
comment
@Miguel Да, я искал это, но оказалось, что ClickOnce несовместим с приложениями, которые требуют запуска с правами администратора (как в случае с моим приложением).   -  person underthevoid    schedule 16.02.2019
comment
А, ХР. Мне было интересно, в какой ОС Windows не установлена ​​.NET framework 4+.   -  person Cameron MacFarland    schedule 16.02.2019
comment
@CameronMacFarland Ага. Однако, скажем, я хочу сбросить пользователей XP и работать только с win7+. Если я создам свое приложение с помощью .Net Framework 4.0, оно будет работать на каждой машине без необходимости устанавливать какие-либо зависимости .net?   -  person underthevoid    schedule 16.02.2019
comment
@underthevoid Хороший вопрос. Win7 поставляется с .NET 3.5.1, в котором есть WPF.   -  person Cameron MacFarland    schedule 16.02.2019
comment
Если вы не против потратить деньги, такие приложения, как ThinApp, могут обернуть ваш исполняемый файл все его зависимости в один исполняемый файл.   -  person Idle_Mind    schedule 16.02.2019


Ответы (2)


Вы можете использовать WiX для создания установщика «начальной загрузки», который установит необходимые фреймворки перед установкой вашего приложения.

http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_dotnet.html

person Cameron MacFarland    schedule 16.02.2019
comment
Это то, что я делал раньше, когда мне нужно было поддерживать приложение WPF в XP/Vista. - person Cameron MacFarland; 16.02.2019

Найдите версию .NET Framework, которая уже установлена ​​на всех ваших целевых компьютерах, и настройте Visual Studio на эту версию платформы.

Затем просто скопируйте/вставьте все файлы из папки bin/release в папку на целевом компьютере и запустите исполняемый файл вашей программы.

Если на всех ваших целевых компьютерах установлена ​​Windows 10, вы можете выполнить развертывание с использованием версии 4.6 платформы и быть уверенным, что она уже установлена ​​на ваших клиентах.

person Robert Harvey    schedule 16.02.2019
comment
Спасибо за понимание, однако цели Windows варьируются от Windows XP до Windows 10. Знаете ли вы заранее о возможной .Net Framework, совместимой со всеми этими версиями Windows? - person underthevoid; 16.02.2019
comment
Чтобы вернуться так далеко, вам нужно вернуться к .NET 3.5. Microsoft больше не поддерживает Windows XP; это невероятно небезопасно, вы больше не можете получать обновления для него, и я настоятельно не рекомендую вам разрабатывать против него. Самая ранняя версия Windows, которую я рассматриваю в настоящее время, — это версия 7, и поддержка Microsoft для нее заканчивается через пару лет. - person Robert Harvey; 16.02.2019
comment
Хм, думаю, я приму ваше предложение и проигнорирую пользователей XP. Если я собираюсь работать с win7+, знаете ли вы, какую самую старшую версию фреймворка я мог бы использовать? - person underthevoid; 16.02.2019
comment
Windows 7 поддерживает последнюю версию фреймворка; хотя он не поставляется с Windows 7 из коробки, есть большая вероятность, что он уже есть, если ваши пользователи достаточно хорошо относятся к обновлениям. - person Robert Harvey; 16.02.2019
comment
Это не отвечает на вопрос. Предложение отката на предыдущую версию не является решением. - person t3chb0t; 21.04.2020
comment
@ t3chb0t: не все версии Windows поддерживают все версии .NET. Если вы прочитаете комментарии выше, вы увидите, что OP должен был поддерживать версии Windows вплоть до Windows XP. - person Robert Harvey; 21.04.2020
comment
Не по умолчанию, но для чего нужны среды выполнения? - person t3chb0t; 22.04.2020