Frage

Ich baue einen Windows-Dienst und im Anschluss an diese MSDN Artikel , aber ich bin auf Schritt 3 unter „erstellen eines Installers“ stecken. Ich kann nicht die Schaltfläche „Hinzufügen Installer“ Link finden es unter Bezugnahme auf. Ich habe überall geklickt haben, einschließlich im Anschluss an die Anweisungen, um es genau gibt, aber ich kann nicht scheinen, um es zu finden. Ein paar Leute auf Google haben das gleiche Problem haben, aber nie eine Lösung (andere als Zugabe des Serviceinstaller-Objekts und deren Konfiguration manuell).

gefunden

Hat jemand anderes dieses Problem hat und einen Grund gefunden? Ich verwende VS2008 und Targeting-Net 2.0, wenn es darauf ankommt.

War es hilfreich?

Lösung

Die „Grauzone“ sie reden ist die Befehle Panel von Eigenschaften des Eigenschaftenfenster (kein Tippfehler). Es ist nicht sehr nützlich, so dass Sie wahrscheinlich schalten Sie es, ich tat.

Sie können entweder wieder aktivieren Sie mit der rechten Maustaste auf das Eigenschaftenfenster und wählen Sie „Befehle“, oder fügen Sie ein Installer-Projekt direkt mit der rechten Maustaste auf den Service-Design-Ansicht (die große tan Fenster mit „Um Komponenten zu Ihrer Klasse hinzufügen ... ") und Auswählen von "Add Installer".

Andere Tipps

Für Visual Studio 2012, klicken Sie rechts auf "Services1.cs" und wählen Sie "Ansicht-Designer" (oder drücken Sie die Shift-F7). Dann klicken Sie rechts auf dem grauen Hintergrund des Designers.

Dann, und nur dann, werden Sie das Osterei sehen, dass Microsoft von Ihnen die ganze Zeit versteckt hat. Das schwer fassbare Add Installer Link

link Beschreibung eingeben hier

Mit dem neuen Visual Studio Express auf dem neuesten Stand zu bekommen (2015) Version:

Es scheint, dass wir diese nicht haben können „Installer hinzufügen“ aus der Express Edition. Aber es ist eigentlich ganz einfach. Sie müssen einfach eine Klasse erstellen und den folgenden Code hinzu.

Darüber hinaus müssen Sie den Verweis System.Configuration.Install.dll hinzuzufügen.

using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;


namespace SAS
{
    [RunInstaller(true)]
    public class MyProjectInstaller : Installer
    {
        private ServiceInstaller serviceInstaller1;
        private ServiceProcessInstaller processInstaller;

        public MyProjectInstaller()
        {
            // Instantiate installer for process and service.
            processInstaller = new ServiceProcessInstaller();
            serviceInstaller1 = new ServiceInstaller();

            // The service runs under the system account.
            processInstaller.Account = ServiceAccount.LocalSystem;

            // The service is started manually.
            serviceInstaller1.StartType = ServiceStartMode.Manual;

            // ServiceName must equal those on ServiceBase derived classes.
            serviceInstaller1.ServiceName = "SAS Service";

            // Add installer to collection. Order is not important if more than one service.
            Installers.Add(serviceInstaller1);
            Installers.Add(processInstaller);
        }
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top