Windows Service Programming, Debugging, Installing in C#.Net
What you'll learn
- Create new Windows Services in C# .Net which run in background
- Debug & Maintain Existing Windows Services in C#
- Use Apache Log4Net logging library in a C# Project
- Use InnoSetup to create setup installer for installing Windows Services on non production machines
- Basic C# .Net programming language
This course teaches you how to create Windows services in Visual Studio in C# .Net. Multiple techniques to debug a Windows Service in Visual Studio. Windows Services are a key component of the Microsoft Windows operating system.
The course is divided into various sections.
Introduction to Windows Service Programming in C#
You will learn the definition and anatomy of a Windows Service application. In the past, NT service was used for a Windows Service. You will also understand the difference between a Windows Service and other application types like console applications. This section is not dependent on any programming language like C#.Net or C++. You will learn what Windows Service Control Manager(SCM) is and how to run it from the run prompt. SCM shows a Windows Services List.
Windows Service Programming in C# .Net Primer
In section two, you will create a new Windows Service project in Visual Studio and utilize installutil to install or uninstall a Windows Service. InstallUtil comes bundled with the .Net framework. I'll show you what Windows Service Control Manager is. What are Windows Service statuses, login types, and service startup types? A Windows server service is the same as a Windows NT service.
After this, you will open the Windows Event Viewer to see the events generated by your newly born service.
Windows Service Debugging Techniques in Visual Studio and C# .Net
In section three, you will learn how to debug a C# .Net-based Windows Service program in Visual Studio.
Techniques for setting breakpoints and getting inside the C# .Net code to add watches for debugging purposes will be shown.
You will also see how to integrate the Apache Log4Net logging library into your C# .Net Windows Service project. Apache Log4Net is a free & open-source library that lets you generate rolling log files based on the Log4J library.
Practical usages of Windows Service
In the next section, you will look into a few real-world scenarios like a file synchronization Windows service with FileSystemWatcher and a periodic data update service(similar to an ETL) with System.Threading.Timer. File sync type services were once very popular among password synchronization applications for updating domain passwords into online portals based on password filter-related events.
Advanced Windows Service Programming
The following section concerns topics like changing values in Windows Service configuration(app.config) and using the .Net framework ServiceController class. This section will create an admin application for a Windows Service. This application will be able to start/stop service and get service status as well. We will use C# .Net and WinForms for this purpose. The concepts shown herein will apply to WPF applications as well.
Installing a Windows Service with Inno Setup
The last section was added on student demand. It is about creating an installer to install Windows Service on a client machine. We will use the free software InnoSetup for this purpose. I'll show you how to use SC.exe to perform Windows Service control-related operations from the command line. It is mandatory to know how to create a windows service command line using the SC command. I also show you how to install a windows service without installutil.
Creating & maintaining Windows Services in C# .Net is very easy compared to C++-based services. Windows Services are run not only on Windows Servers but on desktop machines. Their usefulness is universal.
Windows Services is an advanced C# and OS concept. I learned Windows Service programming the hard way, on my own. You, sir! can take advantage of my experience and learn it quickly by joining this course. Sign up, and I will see you inside!
Who this course is for:
- Fresh or experienced programmers with little to no experience in C# .Net Windows Service programming
- Programming students who want to learn how background services work
I am A person with many talents and interests, ranging from gardening to programming and poetry to cooking.
Right now I'm working as a Software Test Engineer. On my job I use Microsoft Coded UI, Selenium, and Appium for creating test automation scripts. It is also a part of my job to maintain these automation scripts and run them via CI/CD using TFS. Apart from teaching, I'm also learning how actively on Udemy and my core interests are Azure Devops.
I've been writing computer software code(C++, C# .Net) since 2006, creating awesome Android apps since 2012. I've been working as a freelance software developer since Nov. 2012.
I've extensively worked on network communications, computer telephony integration(CTI) using Microsoft TAPI 2.x and 3.x, and LDAP server programming(Active Directory). Android app development has been my focus as a freelancer, I've created and published several apps for clients and a couple for myself on Google Play store.
I've been sharing my knowledge through my blogs, and I am confident its time share more things that I've experienced with the world in a comprehensive video format.