Utwórz program instalacyjny dla aplikacji C # i dołącz instalator .NET Framework do instalacji

117

Skończyłem moją aplikację C #, ale mam mały problem:

Kiedy próbuję uruchomić moją aplikację na innym komputerze, zawsze muszę zainstalować .NET Framework 4.0.

Czy jest coś do zrobienia, aby działało bez instalowania frameworka z Internetu?

Próbowałem przed InnoSetup dla aplikacji VB6, ale nie jestem pewien, czy będzie działać z .NET 4.0!

Jakieś pomysły?

Wassim AZIRAR
źródło
3
Nie możesz pozbyć się .net Framework. Jeśli chcesz, możesz utworzyć konfigurację dla swojej aplikacji i dołączyć konfigurację .net framework do swojej konfiguracji. W ten sposób możesz uniknąć pobierania go z Internetu. Ale zwiększy to twój rozmiar konfiguracji.
CharithJ
To nie problem. Wiesz jak ?
Wassim AZIRAR
2
Tak jak uwaga ... upewnij się, że nie przechodzisz do File-New. Kliknij prawym przyciskiem myszy rozwiązanie i kliknij Dodaj-> Nowy projekt. W ten sposób DODAWASZ projekt instalacyjny do swoich plików, a nie tylko sam tworzy nowy projekt.
David Nelson,

Odpowiedzi:

201

Użyj projektu instalacji programu Visual Studio. Projekt instalacyjny może automatycznie zawierać instalację platformy .NET Framework w pakiecie instalacyjnym:

Oto mój krok po kroku dotyczący aplikacji formularzy systemu Windows:

  1. Utwórz projekt instalacji. Możesz użyć kreatora konfiguracji.

    wprowadź opis obrazu tutaj

  2. Wybierz typ projektu.

    wprowadź opis obrazu tutaj

  3. Wybierz wyjście.

    wprowadź opis obrazu tutaj

  4. Hit Finish.

  5. Otwórz właściwości projektu konfiguracji.

    wprowadź opis obrazu tutaj

  6. Zdecyduj się na dołączenie platformy .NET.

    wprowadź opis obrazu tutaj

  7. Utwórz projekt instalacji

  8. Sprawdź wyjście

    wprowadź opis obrazu tutaj


Uwaga: projekty Instalatora programu Visual Studio nie są już wstępnie pakowane w programie Visual Studio. Jednak w programie Visual Studio 2013 można je pobrać przy użyciu:

Tools > Extensions and Updates > Online (search) > Visual Studio Installer Projects
Alex Aza
źródło
1
Czy jest możliwe skonfigurowanie go w taki sposób, aby po kliknięciu Setup.exe automatycznie wykrywał, czy framework .net 4 jest zainstalowany i instaluje go. A może trzeba to zrobić ręcznie?
Seth
27
Program Visual Studio 2012 nie obsługuje już tych projektów instalacji. Zamiast tego zostaniesz przekierowany do pobrania InstallShield LE (edycja limitowana). Jest bezpłatny, ale pamiętaj, że będziesz musiał przebudować swój instalator, jeśli przeprowadzisz migrację z VS 2010 do VS 2012.
tobinibot
5
Istnieje oficjalne rozszerzenie firmy Microsoft, które dodaje tę funkcję do visualstudiogallery.msdn.microsoft.com/ ...
XD face me
4
Śledziłem wszystko, ale otrzymałem ten błąd: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.
Chris
2
@nurettin Znalazłem folder dla VS2017 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471dla instalatora .NET 4.7.1
Crowley,
5

Musisz stworzyć instalator, który sprawdzi, czy użytkownik ma wymagane oprogramowanie .NET Framework 4.0. Możesz użyć WiX do stworzenia instalatora. Jest bardzo potężny i konfigurowalny. Możesz także użyć ClickOnce do stworzenia instalatora - jest bardzo prosty w użyciu. Pozwoli to jednym kliknięciem dodać wymóg instalacji .NET Framework 4.0.

Damian Antonowicz
źródło
3

WiX to droga dla nowych instalatorów. Jeśli samo WiX jest zbyt skomplikowane lub niewystarczająco elastyczne po stronie GUI, rozważ użycie SharpSetup - umożliwia on tworzenie GUI instalatora w WinForms WPF i ma inne fajne funkcje, takie jak tłumaczenia, autoupdater, wbudowane wymagania wstępne, ulepszone autouzupełnianie w VS i więcej .

(Zastrzeżenie: jestem autorem SharpSetup.)

Tomasz Grobelny
źródło
1
@ChristopherPainter wykonał świetną robotę w tym samym zakresie. blog.iswix.com, ale jego jest za darmo !!!
Jeremy Thompson
1
Ostatnim razem, gdy spojrzałem na ISWIX, miał on zupełnie inną koncepcję niż SharpSetup (nie mówiąc tutaj, co jest lepsze, ale oczywiście myślę, że SharpSetup to :-)). Bardziej chodziło mu o edycję kodu WiX w oddzielnym narzędziu, podczas gdy SharpSetup w dużej mierze opiera się na Visual Studio i .NET, co daje instalatorom znacznie większą elastyczność, zwłaszcza w części z graficznym interfejsem użytkownika. Należy również pamiętać, że SharpSetup ma bezpłatną wersję (z ograniczeniami licencyjnymi).
Tomasz Grobelny
2

Uwzględnij projekt konfiguracji ( New Project > Other Project Types > Setup and Deployment > Visual Studio Installer) w swoim rozwiązaniu. Posiada opcje dołączenia instalatora frameworka. Sprawdź ten wpis w witrynie MSDN dotyczący wdrażania .

Bala R
źródło