Utwórz konfigurację aplikacji w programie Visual Studio 2013

90

Mam już projekt, który jest gotowy do zbudowania. Obecnie korzystam z programu Visual Studio 2013.

Ale nie wiem, jak stworzyć konfigurację MSI w Visual Studio 2013, ale dla Visual Studio 2010 dostępnych jest wiele samouczków omawiających sposób tworzenia konfiguracji w Visual Studio 2010.

  • Czy to oznacza, że ​​muszę zainstalować program Visual Studio 2010, aby utworzyć konfigurację aplikacji dla mojego projektu?

  • Jaki jest najłatwiejszy sposób tworzenia konfiguracji aplikacji w programie Visual Studio 2013?

Kaoru
źródło
2
Wypróbuj Windows Installer XML (WIX), który jest niezwykle konfigurowalny i rozszerzalny, a także możesz go zintegrować z kompilacjami CI. Projekty instalacji aplikacji zostały usunięte w 2012 r. Możesz użyć programu Installshield SE, który został dołączony w pewnym momencie, jeśli nadal potrzebujesz szybkiego i brudnego instalatora. Korzystanie z WIX w 2013 r.
Mgetz,
VS 2012 i po tym, jak nie ma projektu wdrożeniowego jak w 2010
kostas ch.
1
co powiesz na jedno kliknięcie, panie @Mgetz? i jak raz użyć kliknięcia?
Kaoru,
@Kaoru Nigdy nie sprawiłem, że Clickonce działa niezawodnie w żadnej wersji VS, więc nie będę zbytnio pomocny. Ale teoretycznie to zadziała.
Mgetz
2
Clickonce ma dość dziwne cechy szczególne: aby wykonać automatyczną aktualizację, musisz wykonać nowe wersje tej samej instalacji z oryginalnego katalogu instalacyjnego. Dodatkowo wydaje się, że musisz nosić załączony folder z plikiem clickonce .exe. To, co zrobiłem, to umieszczenie instalacji Clickonce w archiwum SFX za pomocą programu winrar, zawsze wykonując go z katalogu tymczasowego i zasadniczo tworząc „kliknięcie nawet rzadziej niż raz instalator”.
Traubenfuchs

Odpowiedzi:

131

Firma Microsoft wysłuchała wołania o obsługę instalatorów (MSI) w programie Visual Studio i wydała rozszerzenie Visual Studio Installer Projects . Możesz teraz tworzyć instalatory w VS2013, pobierz rozszerzenie tutaj z visualstudiogallery.

visual-studio-installer-projects-extension

Piotr
źródło
1
Nowe i świetne informacje. Microsoft powinien ulepszyć powiązany artykuł KB2900817
satoc,
@peer Nie masz rozwiązania w VS 2012? Alternatywy? Pełne próbki kodu źródłowego w VS2012?
Kiquenet,
@kiquenet nope, vs2012 nie jest obsługiwane. Większość projektów jest aktualizowana wraz z dowolną pracą do vs2013 i wstecznie kompatybilna z vs2012.
Peter,
4
Nie zawracaj sobie głowy czytaniem artykułu ... po prostu mówi ci, aby wykonać następujące czynności: Przejdź do Narzędzia -> Rozszerzenia i aktualizacja. Wybierz zakładkę ONLINE. Wyszukaj „Visual Studio Installer Projects Extension”
Prisoner ZERO
Mam rozwiązanie VS 2010 z projektem instalacyjnym w środku, kiedy rozwiązanie jest budowane w VS 2010, tworzony jest plik msi. Teraz mamy tylko VS 2013 i nie mogę zmienić / migrować projektu instalacyjnego. Co mam zrobić, aby utworzyć plik msi?
Jirong Hu
10

Począwszy od programu Visual Studio 2012 firma Microsoft nie udostępnia już wbudowanego pakietu wdrożeniowego. Jeśli chcesz skorzystać z tego pakietu, musisz użyć VS2010.

W 2013 roku masz kilka możliwości:

  • InstallShield
  • WiX
  • Skręć swój własny

W swoich projektach tworzę od podstaw własne instalatory, które, ponieważ nie używam Instalatora Windows, mają tę zaletę, że są super szybkie, nawet na starych maszynach.

Ming Slogar
źródło
Czy masz @ ming-slogar jakąś przykładową aplikację z takim instalatorem, którą chciałbyś się z nami podzielić?
Highmastdon
@Highmastdon: W zasadzie właśnie stworzyłem program ładujący instalatora z natywnym C ++ (skonfigurowany tak, aby można było uruchomić bez wstępnej instalacji bibliotek C ++ runtime), który sprawdził, czy jest zainstalowany .NET i uruchomił instalator GUI WPF. Instalator WPF umożliwił użytkownikowi wybranie kilku opcji, a następnie skopiował pliki i zapisał klucze rejestru. Nie mam „przykładowej” aplikacji - używam instalatora w projekcie, nad którym pracuję, ale mogę spróbować wyodrębnić przykładową aplikację, jeśli jest taka potrzeba.
Ming Slogar
Naprawdę chciałbym zobaczyć pełny tego przykład. Chcesz się podzielić? Nie sam kod, ale koncepcja i coś z twojego doświadczenia? Na przykład, jak osadzasz go w projekcie, który ma zostać zainstalowany, jak zautomatyzujesz typowe rzeczy (kopiowanie listy plików, reguły: nadpisz / nie nadpisuj itp.). Używam też bankomatu NSIS, ale jestem zmęczony jego językiem skryptowym, brzydkim, nowoczesnym interfejsem użytkownika i bardzo powolnym projektem (wciąż w epoce kamienia łupanego).
Sinatr
@Sinatr Aby osadzić zestawy, intensywnie korzystałem z plików zasobów - zarówno w C ++, jak i C #. Aby skopiować pliki, byłem właściwie leniwy i ręcznie pisałem każdą operację na pliku (np. Używając File.WriteAllByteslub File.WriteAllText, w zależności od typu pliku). Nie poradziłem sobie z zastępowaniem istniejących plików - wszystkie moje zestawy miały prefiks z nazwą mojej aplikacji (np. AppName.Controls.dll, AppName.Images.dll), więc szansa na powielenie pliku byłaby naprawdę niewielka. Jeśli chcesz poradzić sobie z każdym możliwym scenariuszem, musisz zrobić to, co robi Instalator Windows - co jest sprzeczne z celem dostosowywania.
Ming Slogar
7
@Kiquenet Przesłałem kod mojego niestandardowego instalatora tutaj: drive.google.com/… . Nie zbuduje się z powodu brakujących zależności (wyciągnąłem go z projektu na żywo), ale możesz przynajmniej zobaczyć, jak utworzyłem instalator.
Ming Slogar,
3

Program Visual Studio 2013 obsługuje teraz projekty instalacji. Firma Microsoft dostarczyła rozszerzenie Visual Studio do tworzenia projektów instalacyjnych.

Rozszerzenie projektów instalatora programu Visual Studio

Hamid Shahid
źródło
Cześć @Hamid, Po zakończeniu instalacji okna konfiguracji MSI, moje pliki RAW (projekt i kodowanie) są również wyświetlane w miejscu instalacji. Stworzyłem tę aplikację przy użyciu Visual Studio 2010. Instalacja została utworzona pomyślnie, ale po instalacji MSI ten problem występuje. Proszę pomóż mi. Z góry dziękuję.
dilipkumar1007
Próbuję zrozumieć twoje pytanie. stworzyłeś projekt instalacji w Visual Studio 2010 i nie działa z Visual Studio 2013?
Hamid Shahid
2

Firma Microsoft zaleca używanie „InstallShield Limited Edition for Visual Studio” jako zamiennika dla wycofanego „Deployment and Setup Project” - ale nie jest to takie przyjemne i nikt inny nie zaleca jego używania. Ale w przypadku prostych konfiguracji i jeśli poleganie na komercyjnych produktach innych firm nie stanowi problemu, możesz go użyć.

Alternatywą jest użycie Windows Installer XML (WiX) , ale musisz zrobić wiele rzeczy ręcznie, które same wykonały Setup-Project.

habakuk
źródło
Całkowicie zgadzam się z @Kiquenet - możesz wypróbować samouczek z wix.tramontana.co.hu
habakuk
Instaluję 2015LE wewnątrz VS 2010 i mogę stworzyć projekt konfiguracji IS wewnątrz VS 2010. Jak mogę teraz wywołać ten projekt w Jenkins? Wtyczka InstallShield dla Jenkinsa pyta o ścieżkę do ISCmdBld.exe, której nie mogę znaleźć w 2015LE.
Jirong Hu
1

Oprócz Install Shield i WiX jest jeszcze Inno Setup . Chociaż sam tego nie próbowałem, słyszałem o tym dobre rzeczy.

MBWise
źródło
1

Powiem, jak rozwiązałem prawie podobny problem. Stworzyłem aplikację przy użyciu VS 2013 i próbowałem stworzyć kreatora, ponieważ nie udało mi się. Później zainstalowałem VS premium i próbowałem i nie udało mi się.

w końcu użyłem „ClickOnce” i działało dobrze.

Więc uważam, że tutaj również pomoże ci "CLICKONCE".

Aswajith
źródło