2013-02-21 24 views
11

Io uso VS 2012 e poiché i progetti di installazione sono stati rimossi da esso, devo usare InstallUtil.exe.Impossibile installare il servizio Windows con l'aiuto dello strumento InstallUtil

Non ho classe projectInstaller nell'app di Windows. Corro in prompt dei comandi:

installutil FilesMonitoringService.exe 

ottengo:

C: \ Programmi \ Microsoft Visual Studio 8 \ VC#> installutil "C: \ Program Files \ Mic Rosoft Visual Studio 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyServ ice.exe " Utilità di installazione Microsoft (R) .NET Framework Versione 2.0.50727.42 Copyright (c) Microsoft Corporation. Tutti i diritti riservati.

Esecuzione di un'installazione transazionale.

Inizio della fase di installazione dell'installazione. Vedere il contenuto del file di registro per C: \ Programmi \ Microsoft Visual Studio o 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe dello stato dell'assieme. Il file si trova in C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProj ects \ MyService \ MyService \ bin \ Release \ MyService.InstallLog. Installazione dell'assembly 'C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjec ts \ MyService \ MyService \ bin \ Release \ MyService.exe'. parametri interessati sono: logtoconsole = assemblypath = C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ Servizio.exe logfile = C: \ Program Files \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MySer vice \ MyService \ bin \ Release \ MyService.InstallLog Nessun installatore pubblico con l'attributo RunInstallerAttribute.Yes è stato trovato in C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MyService \ Assembly MyService \ bin \ Release \ MyService.exe.

La fase di installazione è stata completata correttamente e la fase di commit è iniziata. Vedere il contenuto del file di registro per C: \ Programmi \ Microsoft Visual Studio o 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe dello stato dell'assieme. Il file si trova in C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProj ects \ MyService \ MyService \ bin \ Release \ MyService.InstallLog. Committing assembly 'C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjec ts \ MyService \ MyService \ bin \ Release \ MyService.exe'. parametri interessati sono: logtoconsole = assemblypath = C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ Servizio.exe logfile = C: \ Program Files \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MySer vice \ MyService \ bin \ Release \ MyService.InstallLog Nessun installatore pubblico con l'attributo RunInstallerAttribute.Yes è stato trovato in C: \ Programmi \ Microsoft Visual Studio 8 \ VC# \ CSharpProjects \ MyService \ Assembly MyService \ bin \ Release \ MyService.exe. Rimuovi il file InstallState perché non ci sono programmi di installazione.

La fase di conferma è stata completata correttamente.

L'installazione transazionale è stata completata.

C: \ Programmi \ Microsoft Visual Studio 8 \ VC#>

OK, sembra che tutto sia stato installato. Ma! Quando vado al task manager nella pagina dei servizi non riesco a trovare il mio servizio.

Quale potrebbe essere il motivo?

Grazie in anticipo!

Modifiche: ho fatto notare che non ho classe ProjectInstaller perché se lo aggiungo (in Designer -> Aggiungi programma di installazione) ed eseguire il comando installutil ottengo: (traduzione approssimativa)

Installazione di FilesMonitoringService ... Creazione di EventLog FilesMonitoringService in un registro applicazione jornal ...

in questa fase di installazione è verificata l'eccezione.

System.Security.SecurityException: la fonte non è stata trovata, ma non è riuscita a trovare alcuna o tutte le log jornals. Non disponibili jornals: sicurezza.

Inizia la fase di rinculo.

// molto testo

La fase di rinculo è riuscita

funzionamento gruppo Imposta eseguiti. L'installazione non è riuscita e il rinculo è stato eseguito.

Quindi, se aggiungo projectInstller al mio servizio Windows, sicuramente non riesce a installare con installUtil.
Ecco il codice generato:

[RunInstaller(true)] 
public partial class ProjectInstaller : Installer 
{ 
    public ProjectInstaller() 
    { 
     InitializeComponent(); 
    } 
    private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    {} 
    private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    {} 
} 

Mabby ho bisogno di mettere un po 'di codice in AfterInstall metodi? Ho anche impostare questo properies in una finestra properties:

serviceInstaller1: ServiceName -> FileMonitoringService, StartType -> automatico
ServiceProcessInstaller1: Account -> LocalSystem

o può essere attuato senza ProjectInstaller?

+0

2017 Commento: questo argomento contiene diverse risposte e commenti utili a questo post SO simile. http://stackoverflow.com/questions/7922105/install-windows-service-created-in-visual-studio –

risposta

18

Ok, ci sono un paio di cose:

1) È necessario projectInstaller.
2) YourProject -> proprietà; Progetto di avvio -> YourProject.Program
3) build
4) "Esegui come amministratore" il prompt dei comandi!

Tutto funziona ora.

complete tutorial link

+1

penso che intendessi Startup "oggetto" –

+0

Il "Esegui come amministratore" era il problema per me. Grazie :) – fabriciorissetto

+0

2017 Nota - Ci sono altri dettagli riportati al seguente post SO se questa risposta non risolve tutti i tuoi problemi. http://stackoverflow.com/questions/7922105/install-windows-service-created-in-visual-studio –

1

Non ho una copia di VS2012 per provarlo ora, ma credo che il problema ha a che fare con la

non ho classe ProjectInstaller nel mio servizio di Windows app

part.

Da msdn:

Componenti per l'installazione registrano un servizio individuale sul sistema al quale viene installato e lasciare che il Gestione controllo servizi sapere che il servizio esiste

+0

controlla il mio aggiornamento –

0

Sembra banale, ma controllare con attenzione quando si sta scrivendo gli argomenti installutill, perché si potrebbe confondere il file EXE del servizio con un altro file exe generato dalla compilazione di un progetto di riferimento (che non ha installatori di servizi) e falliscono.

Problemi correlati