Создайте программу установки для приложений C # и включите установщик .NET Framework в установку.

117

Я закончил свое приложение C #, но у меня небольшая проблема:

Когда я пытаюсь запустить свое приложение на другом ПК, мне всегда нужно установить .NET Framework 4.0.

Есть ли что-нибудь, чтобы заставить его работать без установки фреймворка из Интернета?

Я пробовал до InnoSetup для приложения VB6, но не уверен, что он будет работать для .NET 4.0!

Любые идеи?

Васим АЗИРАР
источник
3
Вы не можете избавиться от .NET Framework. Если вы хотите, вы можете создать настройку для своего приложения и включить настройку .NET Framework в свою настройку. Таким образом, вы можете избежать загрузки его из Интернета. Но это увеличит размер вашей установки.
CharithJ
Это не проблема. Ты знаешь как ?
Wassim AZIRAR
2
Просто в качестве примечания ... убедитесь, что вы не заходите в File-New. Щелкните правой кнопкой мыши свое решение и выберите Добавить-> Новый проект. Таким образом вы ДОБАВЛЯЕТЕ установочный проект в свои файлы, а не просто создаете новый проект сам по себе.
Дэвид Нельсон

Ответы:

201

Используйте проект установки Visual Studio. Проект установки может автоматически включать установку .NET framework в ваш установочный пакет:

Вот моя пошаговая инструкция по применению форм Windows:

  1. Создайте установочный проект. Вы можете использовать Мастер установки.

    введите описание изображения здесь

  2. Выберите тип проекта.

    введите описание изображения здесь

  3. Выберите вывод.

    введите описание изображения здесь

  4. Нажмите "Готово".

  5. Откройте свойства проекта установки.

    введите описание изображения здесь

  6. Выберите для включения .NET framework.

    введите описание изображения здесь

  7. Проект установки сборки

  8. Проверить вывод

    введите описание изображения здесь


Примечание. В проекты установщика Visual Studio больше не входит Visual Studio. Однако в Visual Studio 2013 вы можете скачать их, используя:

Tools > Extensions and Updates > Online (search) > Visual Studio Installer Projects
Алекс Аза
источник
1
Можно ли настроить его таким образом, чтобы при нажатии на Setup.exe он автоматически определял, установлена ​​ли платформа .net 4, и устанавливает ее. Или это нужно делать вручную?
Сет,
27
Visual Studio 2012 больше не поддерживает эти проекты установки. Вместо этого вам будет предложено загрузить InstallShield LE (Limited Edition). Это бесплатно, но имейте в
виду,
5
Существует официальное расширение Microsoft, которое добавляет эту функцию в vs 2015 visualstudiogallery.msdn.microsoft.com/…
XD face me
4
Следил за всем, но получил эту ошибку:ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018.
Крис,
2
@nurettin Я обнаружил, что папка VS2017 предназначена C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471для установщика .NET 4.7.1
Кроули,
5

Вам необходимо создать установщик, который будет проверять, требуется ли пользователю .NET Framework 4.0. Вы можете использовать WiX для создания установщика. Он очень мощный и настраиваемый. Также вы можете использовать ClickOnce для создания установщика - он очень прост в использовании. Это позволит вам одним щелчком мыши добавить требование для установки .NET Framework 4.0.

Дамиан Антонович
источник
3

WiX - это путь для новых установщиков. Если только WiX слишком сложен или недостаточно гибок на стороне графического интерфейса, рассмотрите возможность использования SharpSetup - он позволяет создавать графический интерфейс установщика в WinForms WPF и имеет другие приятные функции, такие как переводы, автоматическое обновление , встроенные предварительные условия, улучшенное автозаполнение в VS и многое другое. ,

(Отказ от ответственности: я являюсь автором SharpSetup.)

Томаш Гробельный
источник
1
@ChristopherPainter проделал отличную работу над тем же. blog.iswix.com но его бесплатно !!!
Джереми Томпсон,
1
В прошлый раз, когда я взглянул на ISWIX, он имел совершенно другую концепцию, чем SharpSetup (не говоря уже о том, что лучше, но, очевидно, я думаю, что SharpSetup :-)). Он больше касался редактирования кода WiX в отдельном инструменте, в то время как SharpSetup в значительной степени опирается на Visual Studio и .NET, что дает установщикам большую гибкость, особенно в части графического интерфейса. Также обратите внимание, что SharpSetup имеет бесплатную версию (с лицензионными ограничениями).
Томаш Гробельный,