« Service et csharp » : différence entre les versions
Apparence
Ligne 66 : | Ligne 66 : | ||
== [https://docs.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer#install-the-service Developer Command Prompt for VS] == | == [https://docs.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer#install-the-service Developer Command Prompt for VS] == | ||
Open {{boxx|Developer Command Prompt for VS}} with administrative credentials | |||
<kode lang='dos'> | <kode lang='dos'> | ||
cd %UserProfile%\source\repos\MyService\MyService\bin\Debug | cd %UserProfile%\source\repos\MyService\MyService\bin\Debug |
Version du 11 février 2022 à 23:06
Links
Create the project
- File → New → Project
- Windows Service (.NET Framework)
- Rename Service1.cs to MyService.cs
- Double-click on MyService.cs to open the designer → Properties → ServiceName = MyService
Code
MyService.cs |
public partial class MyService : ServiceBase
{
public MyService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{ }
protected override void OnStop()
{ }
}
|
Program.cs |
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
}
|
Installer
- Right-click on MyService.cs → View Designer
- Right-click on the background → Add Installer
- A new class ProjectInstaller has been added
- Right-click on ProjectInstaller.cs → View Designer
- Description = This service manages the ...
- DisplayName = My service
- StartType = Automatic
- Select serviceProcessInstaller1 → Properties → Account = LocalSystem
Build the service
- Right-click on MyService project → Properties
- Application tab → Startup object = MyService.Program
Install the service
PowerShell
New-Service -Name "MyService" -BinaryPathName MyService.exe
# uninstall, PowerShell 6 or later is required
Remove-Service -Name "MyService"
# after the executable for a service is deleted, the service might still be present in the registry
# remove the entry for the service from the registry
sc.exe delete "MyService"
|
Developer Command Prompt for VS
Open Developer Command Prompt for VS with administrative credentials
cd %UserProfile%\source\repos\MyService\MyService\bin\Debug
installutil MyService.exe
REM %windir%\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
REM uninstall the service
installutil.exe /u MyService.exe
|
Create an installer package
- Install the Wix Toolset Visual Studio Extension