Створіть інсталяційну програму для програм C # та включіть .NET Framework в інсталятор


117

Я закінчив свою заявку на C #, але у мене є невелика проблема:

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

Чи потрібно щось зробити, щоб він працював, не встановлюючи рамки з Інтернету?

Я намагався раніше InnoSetup для програми VB6, але я не впевнений, чи буде це працювати для .NET 4.0!

Будь-які ідеї?


3
Ви не можете позбутися .net Framework. Якщо ви хочете, ви можете створити інсталяцію для своєї програми та включити .net frame Framework всередині вашої установки. Таким чином ви можете уникнути завантаження з Інтернету. Але це збільшить ваш розмір налаштування.
CharithJ

Це не проблема. Ви знаєте, як?
Васім АЗІРАР

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 Framework і встановить його. Або це потрібно зробити вручну?
Сет

27
Visual Studio 2012 більше не підтримує ці програми налаштування. Ви будете спрямовані на завантаження InstallShield LE (обмежене видання). Це безкоштовно, але майте на увазі, що вам потрібно буде відновити інсталятор, якщо ваш перехід з VS 2010 на VS 2012.
tobinibot

5
Існує офіційне розширення для Microsoft, яке додає цю функцію в порівнянні з visualstudiogallery.msdn.microsoft.com/
XD

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
Crowley

5

Вам потрібно створити інсталятор, який перевірить, чи потрібен користувачеві .NET Framework 4.0. Ви можете використовувати WiX для створення інсталятора. Це дуже потужно і налаштовується. Також ви можете використовувати ClickOnce для створення інсталятора - це дуже просто у використанні. Це дозволить вам встановити вимогу додавання одним клацанням миші .NET Framework 4.0.


3

WiX - це шлях до нових інсталяторів. Якщо WiX поодинці занадто складний або недостатньо гнучкий на стороні GUI, спробуйте скористатися програмою SharpSetup - це дозволяє створити графічний інтерфейс інсталятора в WinForms WPF і має інші приємні функції, такі як переклади, автозаповнення, вбудовані передумови, покращене автодоповнення в VS та інше .

(Відмова: Я автор програми SharpSetup.)


1
@ChristopherPainter зробив велику роботу над тією ж справою. blog.iswix.com але його безкоштовно !!!
Джеремі Томпсон

1
Минулого разу я подивився на ISWIX, він мав зовсім іншу концепцію від SharpSetup (не кажу тут, що краще, але явно думаю, що SharpSetup :-)). Його більше стосувалося редагування коду WiX в окремому інструменті, в той час як SharpSetup сильно розвивається на Visual Studio і .NET, що надає інсталяторам можливість більшої гнучкості, особливо в частині GUI. Також зауважте, що SharpSetup має безкоштовну версію (з ліцензійними обмеженнями).
Томаш Гробельний

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.