CI/CD Pipeline Creation for C# Windows Service
Budget: ₹2,500 – ₹0 INR
Project Title
Design & Implement CI/CD Pipeline for Signed Windows Service (C#) with Safe Auto-Update & Rollback
Project Overview
I am building a Windows-based local client (agent) written in C#, which runs as a Windows Service with an optional system tray UI.
The client auto-starts at system boot, monitors network changes, resolves the active Wi-Fi IP address, and securely reports it to a backend service.
The application logic already exists or is under development.
What I need is professional infrastructure, build, packaging, and deployment automation.
This project is not about writing business logic.
It is about designing and implementing a robust, production-grade CI/CD pipeline for a Windows endpoint application.
Core Objective (Non-Negotiable)
Create a secure, reliable, automated pipeline that enables:
Local development in Cursor
Source control via GitHub (monorepo)
Automated build, signing, packaging (MSI) via CI
Safe client-side update checks (pull-based)
Fast rollback in case of broken releases
Zero reliance on manual steps in production
If an update fails, remote access must NOT be lost.
Application Context
Local Client Characteristics
Language: C#
Platform: Windows only
Runtime model:
Windows Service (core functionality)
Optional System Tray / GUI for user interaction
Startup: Auto-start on system boot
UI: Not a priority (functionality first)
What the App Does (High Level)
Detects network change events
Resolves active Wi-Fi interface IP
Authenticates the device/user
Reports IP updates to a backend portal
Scope of Work
The freelancer will be responsible for infrastructure & release engineering, including:
Development & Repo Workflow
Define a clean local dev → GitHub → CI workflow
Work within an existing GitHub monorepo
Establish branching and versioning strategy (simple but safe)
CI/CD Pipeline (GitHub Actions)
Automated Windows build pipeline
Deterministic builds (reproducible)
Versioned artifacts
Release tagging strategy
Secure handling of secrets (code signing)
Windows Packaging
Build enterprise-grade MSI installer
Support:
Clean install
Upgrade
Downgrade (rollback)
Ensure Windows Service lifecycle is handled correctly
Code Signing
Implement code signing for binaries and MSI
I do not currently have certificates
Guidance or setup help is welcome
Mock / placeholder signing during development is acceptable
Pipeline must support real certificates later without refactor
Update & Rollback Strategy
Pull-based update model (client checks for updates)
No forced push updates
Staged install with activation on restart
Clear rollback path if:
Update fails
App becomes unstable
Rollback must be client-side controlled
Documentation
Clear documentation covering:
Dev workflow
Release process
How updates are published
How rollback works
Documentation should allow future developers to maintain the system
Out of Scope
Writing business logic
Designing complex UI/UX
Multi-OS support (Windows only for now)
Backend feature development
Scale Expectations
Current usage: 1 user (personal)
Architecture must scale cleanly to ~100 users
Design should not block future growth
Required Skills
You should be comfortable with:
C# / .NET (Windows applications)
Windows Services
MSI installers (WiX or equivalent)
GitHub Actions (Windows runners)
Code signing on Windows
Release engineering / CI/CD
Secure update & rollback strategies
Nice-to-Have Skills
System tray apps (WPF / WinUI / WinForms)
Enterprise Windows deployment experience
Security-aware software distribution
Experience with endpoint/agent-style software
Red Flags (Please Read Carefully)
This project is not suitable if you:
Only know web CI/CD (Linux containers only)
Have never built or signed a Windows MSI
Suggest “just auto-update silently” without rollback
Cannot explain how rollback works
Propose manual deployment steps
Treat this like a hobby project
I am explicitly optimizing for reliability, safety, and long-term maintainability.
Deliverables
By the end of the project, I expect:
Working CI/CD pipeline in GitHub
Signed MSI build process (or fully ready for real certs)
Versioned release workflow
Documented update & rollback mechanism
Clear handover documentation
How Proposals Will Be Evaluated
Strong proposals will:
Explain how rollback is implemented
Show experience with Windows services + MSI
Demonstrate understanding of failure modes
Ask intelligent clarifying questions (not generic ones)
Design & Implement CI/CD Pipeline for Signed Windows Service (C#) with Safe Auto-Update & Rollback
Project Overview
I am building a Windows-based local client (agent) written in C#, which runs as a Windows Service with an optional system tray UI.
The client auto-starts at system boot, monitors network changes, resolves the active Wi-Fi IP address, and securely reports it to a backend service.
The application logic already exists or is under development.
What I need is professional infrastructure, build, packaging, and deployment automation.
This project is not about writing business logic.
It is about designing and implementing a robust, production-grade CI/CD pipeline for a Windows endpoint application.
Core Objective (Non-Negotiable)
Create a secure, reliable, automated pipeline that enables:
Local development in Cursor
Source control via GitHub (monorepo)
Automated build, signing, packaging (MSI) via CI
Safe client-side update checks (pull-based)
Fast rollback in case of broken releases
Zero reliance on manual steps in production
If an update fails, remote access must NOT be lost.
Application Context
Local Client Characteristics
Language: C#
Platform: Windows only
Runtime model:
Windows Service (core functionality)
Optional System Tray / GUI for user interaction
Startup: Auto-start on system boot
UI: Not a priority (functionality first)
What the App Does (High Level)
Detects network change events
Resolves active Wi-Fi interface IP
Authenticates the device/user
Reports IP updates to a backend portal
Scope of Work
The freelancer will be responsible for infrastructure & release engineering, including:
Development & Repo Workflow
Define a clean local dev → GitHub → CI workflow
Work within an existing GitHub monorepo
Establish branching and versioning strategy (simple but safe)
CI/CD Pipeline (GitHub Actions)
Automated Windows build pipeline
Deterministic builds (reproducible)
Versioned artifacts
Release tagging strategy
Secure handling of secrets (code signing)
Windows Packaging
Build enterprise-grade MSI installer
Support:
Clean install
Upgrade
Downgrade (rollback)
Ensure Windows Service lifecycle is handled correctly
Code Signing
Implement code signing for binaries and MSI
I do not currently have certificates
Guidance or setup help is welcome
Mock / placeholder signing during development is acceptable
Pipeline must support real certificates later without refactor
Update & Rollback Strategy
Pull-based update model (client checks for updates)
No forced push updates
Staged install with activation on restart
Clear rollback path if:
Update fails
App becomes unstable
Rollback must be client-side controlled
Documentation
Clear documentation covering:
Dev workflow
Release process
How updates are published
How rollback works
Documentation should allow future developers to maintain the system
Out of Scope
Writing business logic
Designing complex UI/UX
Multi-OS support (Windows only for now)
Backend feature development
Scale Expectations
Current usage: 1 user (personal)
Architecture must scale cleanly to ~100 users
Design should not block future growth
Required Skills
You should be comfortable with:
C# / .NET (Windows applications)
Windows Services
MSI installers (WiX or equivalent)
GitHub Actions (Windows runners)
Code signing on Windows
Release engineering / CI/CD
Secure update & rollback strategies
Nice-to-Have Skills
System tray apps (WPF / WinUI / WinForms)
Enterprise Windows deployment experience
Security-aware software distribution
Experience with endpoint/agent-style software
Red Flags (Please Read Carefully)
This project is not suitable if you:
Only know web CI/CD (Linux containers only)
Have never built or signed a Windows MSI
Suggest “just auto-update silently” without rollback
Cannot explain how rollback works
Propose manual deployment steps
Treat this like a hobby project
I am explicitly optimizing for reliability, safety, and long-term maintainability.
Deliverables
By the end of the project, I expect:
Working CI/CD pipeline in GitHub
Signed MSI build process (or fully ready for real certs)
Versioned release workflow
Documented update & rollback mechanism
Clear handover documentation
How Proposals Will Be Evaluated
Strong proposals will:
Explain how rollback is implemented
Show experience with Windows services + MSI
Demonstrate understanding of failure modes
Ask intelligent clarifying questions (not generic ones)