2016-04-06 21 views
1

Wie konfiguriere ich mit Visual Studio 2015 ein Installationspaket mithilfe von InstallShield für einen Windows-Dienst unter dem Konto "Netzwerkdienst"? Ich hatte dies in Visual Studio 2013 mit einem InstallShield-Projekt, aber ich kann nicht scheinen, es in dieser neuen Version zu gehen.Installer für Windows-Dienst, der als "Netzwerkdienst" ausgeführt werden muss

Wenn ich die Felder "Benutzername" und "Passwort" leer lassen (auf dem Bildschirm "3 - Konfigurieren des Zielsystems/der Dienste" des Installshield-Projekts), wird der installierte Dienst für die Verwendung von "Lokales System" konfiguriert.

Wenn ich "Netzwerkdienst", "Netzwerkdienst", "NT_AUTHORITY \ Netzwerkdienst", ". \ Netzwerkdienst" oder ". \ NetworkService" als Benutzername eingeben und das Kennwort leer lassen, wenn ich versuche, den Dienst zu installieren, ich erhalte den folgenden Fehler:

Error 1923. Service [name] could not be 
installed. Verify that you have sufficient 
privileges to install system services." 

Ab meine Eingabe dieser, ich habe nicht in der Lage gewesen, diese auf ihre Express Edition Dokumentation im Zusammenhang keine Informationen zu finden:

http://helpnet.flexerasoftware.com/isxhelp21/isxhelp21.htm#StartTopic=helplibrary/FAQFilesNTService.htm

http://helpnet.flexerasoftware.com/isxhelp21/isxhelp21.htm#StartTopic=helplibrary/ServiceSettings.htm

Dieser Blog-Eintrag beschreibt die Änderungen in der neuen Version für einen Service-Installer erstellen:

http://blogs.flexerasoftware.com/installtalk/2014/10/updated-support-creating-an-installation-that-installs-windows-services-.html

Mein bisheriges Installationsprogramm der „alte Methode der Verwendung von Installer-Klassen“ verwendet haben muß, weil mein Projekt hat eine Installer-Klasse, die den NetworksService als den Benutzer angibt, unter dem er ausgeführt werden soll. (Der Link zu dem Artikel, der diese allgemein nicht empfohlene Methode behandelt, ist kaputt.)

Soweit ich das beurteilen kann, scheint die neue Express Edition die Installer-Klasse zu ignorieren, die ich habe, und ich habe noch nicht herausgefunden, wie um zu der alten Methode zurückzukehren, die "fragil ist und im Allgemeinen nicht empfohlen wird".

+0

Wird dies auf demselben System installiert, auf dem es früher funktioniert hat? Führt die Verwendung des lokalen Systems den gleichen Fehler aus? –

+0

Es wird auf demselben Server installiert, auf dem es früher funktioniert hat. Es muss als "Netzwerkdienst" ausgeführt werden, da der Dienst eine Verbindung zu einer Datenbank auf einem anderen Server herstellen muss. –

+0

... Ich vermisse wahrscheinlich etwas Offensichtliches; Ich habe das Installationsprogramm nicht in der vorherigen Version eingerichtet. –

Antwort

0

Ich habe keine Informationen über gefunden, wie das mit Install LE (Express Edition) in Visual Studio 2015

Da mein Service zu einem einzelnen Server wird implementiert wird nur geschehen lassen, sind meine Bedürfnisse nicht übermäßig kompliziert. Ich habe meinem Windows-Dienstprojekt eine Projekt-Installer-Klasse hinzugefügt, wie hier unter https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx im Abschnitt "Hinzufügen von Installern zum Dienst" beschrieben. Dadurch können Sie den Benutzer "Netzwerkdienst" als eine Eigenschaft im ServiceProcessInstaller auswählen. "Installieren des Service"

Wie in der beschrieben, ich bin Skripting mit der Installation:

%WINDIR%\Microsoft.NET\Framework64\[framework_version]\installutil.exe MyService.exe 

Uninstall können gemacht werden:

werden müssen, laufen
%WINDIR%\Microsoft.NET\Framework64\[framework_version]\installutil.exe /u MyService.exe 

Diese Befehle wie Administrator oder Sie erhalten eine Fehlermeldung.

0

Ich weiß, wie man es mit InstallShield Premier macht.

Zunächst definieren Sie eine Unterkunft in der Hausverwaltung wie folgen aus:

SGNETSER NT AUTHORITY\NETWORK SERVICE 

enter image description here

Dann in den Dienstleistungen, einen neuen Dienst erstellen und in den Benutzername, geben Sie genau diese :

[SGNETSER] 

enter image description here

Das funktionierte für mich!

Verwandte Themen