Ho letto questa domanda Inno Setup for Windows service?. Ho lo stesso problema, ma non capisco la risposta di lubos hasko. Come posso farlo esattamente? Qualcuno può pubblicarmi una guida completa?Servizio Windows di installazione automatica in .NET C#
Quando eseguo il codice di seguito, qualcosa è installato, ma in elenco di servizio, non riuscivo a trovarlo. Ho questo, ma questo non funziona:
using System;
using System.Collections.Generic;
using System.Configuration.Install;
using System.Linq;
using System.Reflection;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
public class Service1 : ServiceBase
{
public Service1()
{
File.AppendAllText("sss.txt", "ccccc");
}
protected override void OnStart(string[] args)
{
File.AppendAllText("sss.txt", "asdfasdf");
}
protected override void OnStop()
{
File.AppendAllText("sss.txt", "bbbbb");
}
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
string parameter = string.Concat(args);
switch (parameter)
{
case "--install":
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
case "--uninstall":
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
else
{
ServiceBase.Run(new Service1());
}
Console.ReadKey();
}
}
}
I dont understad questa operazione:
if (System.Environment.UserInteractive) ...
Grazie, quell'articolo mi ha davvero aiutato. Ma nell'articolo, l'autore ha usato installutil. Non voglio usare installutil. C'è qualche opzione? La risposta è in questo articolo http://stackoverflow.com/questions/1449994/inno-setup-for-windows-service/1450051#1450051 ma non so come usarlo. – Simon
Perché non vuoi installare un servizio con installutil? Se è a causa di autorizzazioni, non sarà possibile installare un servizio senza diritti di amministratore. Non c'è da fare per questo. – jlafay
In realtà, sto ancora utilizzando installutil, ma attraverso ManagedInstallerClass.InstallHelper. Questo è il punto. Quando distribuisco il mio programma, non è necessario distribuire anche installutil.exe. L'installazione del WS viene effettuata durante l'installazione dell'applicazione con Inno Setup, e questa viene effettuata con diritti di amministratore, quindi nessun problema ... – Simon