Experienced Windows Desktop Developer – C#/.NET, C++ & Driver Management Software

via Freelancer ·

Budget / Salary$250–750
TypeFreelance project
LocationRemote
Posted3 hours ago
We are looking for an experienced **Windows Desktop Application Developer** to develop and enhance a professional Windows-based hardware detection and driver management application.

The ideal candidate should have strong experience in C#/.NET desktop development, C++, Windows system programming, hardware and device enumeration, driver identification, and Windows driver installation workflows.

This project requires a developer who understands both **Windows application development and low-level system interactions**, with a strong focus on security, hardware compatibility, reliability, and performance.

Detailed project specifications, existing application details, and the complete module requirements will be shared with shortlisted candidates.

Key Responsibilities

- Develop and integrate Windows desktop application modules using C#/.NET and C++.
- Implement hardware detection and device enumeration using Windows APIs, WMI, SetupAPI, and related technologies.
- Identify installed, missing, and outdated device drivers using hardware IDs, compatible IDs, driver versions, and system information.
- Develop or integrate a reliable driver database and driver-matching engine.
- Implement secure driver download, compatibility verification, installation, and update workflows.
- Work with the Windows Driver Store, Plug and Play (PnP), and supported Windows driver installation mechanisms.
- Integrate REST APIs and backend services for driver metadata and application functionality.
- Develop and integrate desktop UI screens, dashboards, scan workflows, settings, notifications, and update interfaces.
- Implement asynchronous processing, multithreading, logging, exception handling, and crash recovery.
- Follow security best practices for digital signatures, package integrity, administrator permissions, and secure downloads.
- Implement application registration, licensing, and Free/Pro functionality where required.
- Develop application installers, update mechanisms, and uninstallation workflows.
- Test and debug the application across supported Windows 10 and Windows 11 environments.
- Ensure the application is stable, responsive, maintainable, and ready for production deployment.

Required Technical Skills

**Must-have skills:**

- Strong experience in C# and .NET desktop application development.
- Practical knowledge of C++ and Windows system programming.
- Experience with Windows APIs, WMI, SetupAPI, Device Manager, and device enumeration.
- Understanding of Plug and Play (PnP), hardware IDs, compatible IDs, and driver identification.
- Hands-on experience with Windows driver installation, driver packages, and the Windows Driver Store.
- Experience with REST API integration and database management.
- Strong knowledge of asynchronous programming, multithreading, and background processing.
- Experience with desktop UI/UX integration, debugging, testing, and performance optimization.
- Knowledge of Windows application code signing, secure software deployment, and installer development.
- Understanding of Windows 10/11 compatibility, permissions, and application security.

Additional Preferred Experience

- Previous development of driver updater, PC diagnostic, hardware monitoring, or system utility software.
- Experience integrating OEM or other authorized driver metadata sources.
- Familiarity with Windows driver-signing requirements and digital signature verification.
- Experience with driver backup, recovery, and supported rollback workflows.
- Knowledge of application licensing, product activation, and subscription-based software.
- Experience preparing production-ready Windows desktop applications and release packages.

Project Scope

The project includes the development and integration of multiple modules, including:

- Hardware and device detection.
- Driver information, missing driver, and outdated driver detection.
- Driver matching and metadata integration.
- Secure driver download and installation.
- Bulk driver updates with progress tracking and error handling.
- Driver backup and recovery support.
- Manual and scheduled scanning.
- Dashboard and driver update screens.
- Registration, licensing, and Free/Pro features, if required.
- Settings, support, notifications, and application update workflows.
- Logging, crash handling, and error recovery.
- UI/UX refinement and Windows compatibility testing.
- Installer, uninstaller, code signing, and release packaging.

The detailed requirements and acceptance criteria for each module will be shared during the shortlisting process.

Security and Quality Expectations

Security and reliability are critical for this project. The developer must follow appropriate safeguards, including:

- Using trusted and authorized driver sources.
- Verifying driver compatibility with the target hardware, operating system, and architecture.
- Validating digital signatures and downloaded package integrity.
- Using secure HTTPS connections for downloads.
- Requesting administrator privileges only when necessary.
- Handling installation failures and interrupted downloads safely.
- Providing appropriate backup, recovery, and rollback guidance.
- Protecting user privacy and collecting only necessary system information.
- Testing performance, stability, installation, upgrades, and uninstallation.

Deliverables

The selected developer will be expected to provide:

- Working and integrated application modules.
- Readable, maintainable, and well-structured source code.
- Functional UI integration and verified application workflows.
- Driver detection, matching, download, and installation functionality within the agreed scope.
- Testing results and documentation for key workflows.
- Production-ready installer and uninstaller packages.
- Required signing and release configuration, subject to the agreed deployment setup.
- Technical documentation and handover support.

Specific milestones and acceptance criteria will be finalized after reviewing the existing application, project requirements, and proposed technical approach.

How to Apply

Please provide the following information in your proposal:

1. Your experience with C#/.NET desktop application development and C++.
2. Details of any Windows system utilities, driver management applications, hardware detection tools, or similar projects you have developed.
3. Your experience with Windows APIs, WMI, SetupAPI, PnP, and driver installation.
4. Your proposed technical approach for this project.
5. Your estimated timeline and milestone-based cost.
6. Your availability and preferred engagement model.

**Important:** Please highlight your relevant hands-on experience rather than submitting a generic development proposal. Candidates with demonstrable experience in Windows system programming and driver management will be given preference.

Detailed project specifications will be shared with shortlisted candidates.

We are looking for a reliable technical partner who can deliver a secure, stable, and professional Windows desktop application.
.net windows desktop sql c# programming software architecture software testing c++ programming windows api api integration windows service
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.