Ściągnąłem Visual Studio 2012 wczoraj, kiedy został wydany w MSDN. Zauważyłem, że kilka typów projektów, które mieliśmy w 2010 roku, zniknęło lub się zmieniło. Największą różnicą dla mnie w tej chwili jest usunięcie projektu Instalatora Windows. Teraz jesteśmy zmuszeni do korzystania z InstallShield LE (edycja limitowana). Problem polega na tym, że piszę mnóstwo usług Windows i nie widzę, jak skonfigurować InstallShield LE. Wygląda na to, że my (moja firma) będziemy musieli zainwestować w licencje na edycję profesjonalną.
Czy ktoś znalazł sposób na zainstalowanie usług w InstallShield LE? Korzystając z projektu Instalatora Windows, wystarczy ustawić akcje niestandardowe.
Odpowiedzi:
W przypadku programu Visual Studio 2012 i InstallShield LE wykonaj następujące czynności:
Teraz, gdy utworzysz i uruchomisz instalację, Twoja usługa pojawi się w przystawce Usługi systemu Windows.
Należy zauważyć, że zakłada się, że do projektu usługi dodano „Instalatora projektu” (kliknij prawym przyciskiem myszy arkusz projektu usługi i kliknij opcję „Dodaj instalator”). Mogę potwierdzić, że działa to na Windows 8 z Visual Studio 2012 / InstallShield LE.
źródło
Niedawno zainstalowałem VS 2012 z Install Shield LE. Na początku otrzymywałem wewnętrzny błąd serwera ISEXP -5036 po kompilacji (było to po skonfigurowaniu projektu ISLE i uruchomieniu programu Install Shield Project Assistant). W końcu dowiedziałem się, że próbował utworzyć plik MSI na nośniku typu DVD-5, co jest przyczyną niepowodzenia. Z jakiegoś powodu, tworzenie rozwiązania ponownie od zera w jakiś sposób rozpoznaje kompilację tylko do typów nośników CD_ROM i SingleImage, które działają.
W każdym razie, aby naprawić błąd 5036, kliknij kartę Kompilacja w VS 2012 (górne menu), wybierz menedżera konfiguracji i powinieneś zobaczyć, że twój plik instalacyjny IS jest wybrany w konfiguracji DVD-5. Zmień to na CD_ROM i kliknij zamknij. Po zbudowaniu / przebudowie zakończy się bez błędu IS 5036.
źródło
Podczas korzystania z pola wyboru klasy instalatora może działać w niektórych instancjach, może wystąpić następujący błąd:
Oto fragment tego łącza pokazujący, jak rozwiązać ten problem:
źródło
Jeśli Twój projekt to .NET, spróbuj, a następnie możesz użyć klasy ServiceProcessInstaller z InstallShield LE.
Aby uruchomić program InstallShield, musisz przejść do drzewa "plików" programu InstallShield i kliknąć plik prawym przyciskiem myszy. Następnie zaznacz pole wyboru „Klasa instalatora” w zakładce „Ustawienia COM i .NET”.
Uruchomiłem go, ale miałem problemy z niektórymi systemami operacyjnymi, takimi jak Windows 2008R2. Twój przebieg może się różnić.
Oto przykład: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
źródło
Miałem z tym różne problemy.
Następująco.
Rozwiązaniem dla mnie, jak wspomniano w innym miejscu - było porzucenie InstallShield
Od tego momentu bardzo proste.
Edycja: aktualizacja - zainstaluj najnowszą wersję stąd https://wix.codeplex.com/releases/view/115492 dla vs 2013/2015
źródło
Projekty instalacyjne programu Visual Studio są ponownie w programie VS 2013 jako rozszerzenie programu Visual Studio.
https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
Zaktualizuj swoje rozwiązanie i projekty do VS 2013. Jeśli nadal korzystasz z VS 2010, prawdopodobnie lepiej będzie, jeśli dokonasz aktualizacji bezpośrednio do VS 2013.
Z mojego doświadczenia w zakresie instalacji Installationheild LE wynika, że jest on bardzo dziwaczny, ale kiedy już wymyślisz sztuczki, jest łatwiejszy w użyciu. Myślę jednak, że edycja limitowana to sposób firmy Microsoft i Flexera na sprzedaż w pełni funkcjonalnej edycji. Innymi słowy, najpierw płacimy Microsoftowi dużo pieniędzy za Visual Studio, a potem ich partner (w zbrodni) więcej za Instalacje. Zła strategia, która nie zadziałała, ponieważ musieli przywrócić projekty konfiguracji w VS 2013.
źródło
Pisałem na ten temat:
Rozszerzanie programu InstallShield przy użyciu programu Windows Installer XML - usługi Windows
Zasadniczo tworzysz moduł scalający za pomocą WiX w celu hermetyzacji usługi, a następnie dodajesz go do projektu installshield. (Pamiętaj, aby połączyć się z katalogiem INSTALLDIR, aby upewnić się, że plik trafia tam, gdzie się spodziewasz). Twórz i testuj na maszynie wirtualnej. Bułka z masłem.
źródło
Używam VS2012 i Installshield LE Spring Edition. Nie musiałem używać Wix.
Jeśli napotkasz błąd „Nie można utworzyć pliku _isconfig.xml do użytku z plikiem InstallUtilLib.dll”, utwórz folder o tej samej nazwie, co projekt instalacyjny, w folderze projektu instalacji.
Kredyty dla http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dll
źródło
Po prostu mam problemy ze znalezieniem miejsca dodania instalatora, o którym mowa w odpowiedzi. A więc oto jak.
Kliknij dwukrotnie klasę usług w ramach projektu usługi systemu Windows Pusty ekran z tekstem „Aby dodać komponenty do swojej klasy, przeciągnij je z przybornika i użyj okna Właściwości, aby ustawić ich właściwości…” Kliknij prawym przyciskiem myszy w dowolnym miejscu oprócz łączy i wybierz „Dodaj instalator”
do zobaczenia
źródło
Pamiętaj, że wszystkie powyższe wyjaśnienia nie pomogą Ci, jeśli planujesz później aktualizację tej konfiguracji. InstallShiled LE nie może zatrzymać działającej usługi podczas aktualizacji. Nie możesz tego zrobić również z poziomu Instalatora usługi Windows -> Zdarzenie BeforeInstall.
źródło
Chciałem to tutaj umieścić;
W VS 2015, robiąc to, wielokrotnie napotykałem błąd 1001 podczas instalacji.
Odpowiedź na tej stronie wyjaśnia, że w nowszych wersjach (wcześniejszych niż 2012) najwyraźniej musisz wyraźnie pozostawić opcję klasy instalatora niezaznaczoną , a następnie dodać usługę systemu Windows w sekcji Usługi w kroku 3 projektu instalatora:
Błąd 1001 podczas instalowania niestandardowej usługi systemu Windows
źródło