Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [InstallUtil.exe]Impossibile installare servizio
Forum - C# / VB.NET - [InstallUtil.exe]Impossibile installare servizio

Avatar
Roby94 (Member)
Guru


Messaggi: 1164
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 21:19
Venerdì, 11/04/2014
Salve, mi sto trovando in difficoltà nell debug di un servizio. Ho creato il mio servizio, niente di difficile, nel debug però trovo diverse problematiche a installare il servizio. Per l'installazione in debug adopero il tool InstallUtil.exe. Riscontro degli errori che però non mi erano mai capitati, se adopero la versione legata al framework 4.0 mi vengono chieste delle credenziali, Nome utente, password e password di conferma, sia che lasci i campi vuoti che inserisca le mie credenziali di amministratore il tool mi segnala un errore
Codice sorgente - presumibilmente Delphi

  1. Esecuzione di un'installazione transazionale.
  2.  
  3. Inizio della fase di installazione.
  4. Vedere il contenuto del file di log per informazioni sullo stato dell'assembly [...].
  5. Il file si trova in [...].
  6. Installazione dell'assembly '[...]' in corso...
  7. I parametri interessati sono:
  8.   logtoconsole =
  9.   assemblypath = [...]
  10.   logfile = [...]
  11.  
  12. Si Š verificata un'eccezione durante la fase di installazione.
  13. System.ComponentModel.Win32Exception: Accesso negato
  14.  
  15. Sta iniziando la fase di ripristino dello stato precedente dell'installazione.
  16. Vedere il contenuto del file di log per informazioni sullo stato dell'assembly [...].
  17. Il file si trova in [...].
  18. Ripristino dello stato precedente dell'assembly '[...]' in corso...
  19. I parametri interessati sono:
  20.   logtoconsole =
  21.   assemblypath = [...]
  22.   logfile = [...]
  23. Si Š verificata un'eccezione durante la fase di ripristino dello stato precedente del programma di installazione di System.ServiceProcess.ServiceProcessInstaller.
  24. System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
  25. Si Š verificata un'eccezione durante la fase di ripristino dello stato precedente. L'eccezione verr… ignorata e il ripristino dello stato precedente continuer…, tuttavia Š possibile che non venga completamente ripristinato lo stato precedente l'installazione al termine dell'operazione.
  26.  
  27. Fase di ripristino dello stato precedente completata.
  28.  
  29. Installazione transazionale completata.
  30. L'installazione non Š riuscita ed Š stato eseguito il ripristino dello stato precedente.



Se invece cerco di installare il servizio con la versione 2.0 mi viene restituita l'eccezione System.BadImageFormatException
Codice sorgente - presumibilmente C# / VB.NET

  1. Eccezione durante l'inizializzazione dell'installazione:
  2. System.BadImageFormatException: Impossibile caricare il file o l'assembly '[...]' o una delle relative dipendenze. L'assembly non pu• essere caricato perch‚ Š stato creato da un runtime pi— recente di quello attualmente caricato..


Errore accettabile perché uso il framework 4.5

In ogni caso non so come poter risolvere...
Mi sapreste aiutare o consigliare un alternativa.

Grazie

PM Quote
Avatar
etater (Normal User)
Newbie


Messaggi: 1
Iscritto: 17/11/2015

Segnala al moderatore
Postato alle 13:34
Martedì, 17/11/2015
Ciao,
ho avuto lo stesso problema. E' una questione di autorizzazione di instalutil.exe, che devi eseguire come amministratore
Per fare ciò è sufficiente eseguire il comando CMD digitando ctrl+shift+enter per aprire la prompt con gli adeguati livelli di accesso.
Fatto questo instalutil, lanciato dalla directory del framework, avrà i diritti per installare un servizio

Spero di esserti stato utile

Alberto

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1164
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 16:43
Martedì, 17/11/2015
Grazie, anche se il topic è di aprile 2014, in ogni caso non è un problema di permessi, installutil non è mai stato un granché utile, ora sono abituato ad inserire l'installer come primo elemento di un servizio prima di iniziare a sviluppare il codice cosi da poterlo provare in fase di realizzazione.

PM Quote
Avatar
visualrenzo (Normal User)
Pro


Messaggi: 93
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 18:23
Mercoledì, 03/10/2018
ciao, mi spieghi quest' ultimo passaggio per favore, così posso testare pure io il mio grazie


lorenzo
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1164
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 1:31
Venerdì, 05/10/2018
4 anni fa :-| La vedo dura ricordare cosa mi passasse per la testa in quel momento.
Comunque a livello puramente tecnico per quello che mi ricordo è buona norma predisporre gia all'interno del eseguibile una routine che vada ad installare e disinstallare il servizio. A memoria l'eseguibile si avvia pretendendo almeno un parametro, con start questo eseguiva la routine del servizio con install veniva invece eseguita l'installazione di se stesso (parametro start) tra i servizi di sistema. Prendi quello che ti dico molto con le pinze, non vedo un windows service da un sacco di tempo.
Comunque per la spiegazione del "come" ho trovato questo esempio, vedi se ti può essere utile
https://www.codeproject.com/Tips/855152/Windows-Self-instal ...

PM Quote