Windows installer has its own way to display installer user interface which is far different from other technologies. MSI supports few controls compared to .Net or other platform. Though it is not very difficult, still it is hard job to develop sophisticated installation package with good user interface, even after using well known installer software. NvnInstaller.MsiDotNet api makes this job easier.
Latest Component Development Articles
Creating a C# Gradient Progressbar Component
Learn how to create your own Progressbar-like control, which exposes the same properties as a normal Progressbar, but with added visual appeal.
Creating a DockablePanel-Controlmanager Using C#, Part 6
Learn how to create more advanced docking features, such as docking to the upper right corner or having some panels docked at the bottom of an MDI Form collected together in a TabControl. Each of the different parts include the full source code (up to that point), as well as a retrospective short explanation about the different topics covered already.
Creating a DockablePanel-Controlmanager Using C#, Part 5
Learn how to size a docked Panel and how to undock it again as well as which actions are needed to prepare the more advanced docking actions.
Creating a DockablePanel-Controlmanager Using C#, Part 4
This is the 4th part of a series of articles about how to design DockingForms using a DockingManager written in C#.
Creating a Dockable Panel-Controlmanager Using C#, Part 2
Learn how to get a borderless Form to move around on the screen by capturing it with the mouse and dragging it, and to be able to resize the form, the same way as a normal sizeable Form can be sized by dragging its edges.
Latest Developer Videos
More...Latest CodeGuru Developer Columns
MFC Integration with the Windows Transactional File System (TxF)
The Transactional File System (TxF), which allows access to an NTFS file system to be conducted in a transacted manner through extensions to the Windows SDK API. MFC 10, has been extended to support TxF and related technologies. This support allows existing MFC applications to be easily extended to support kernel transactions.
.NET Framework: Collections and Generics
The original release of the .NET Framework included collections as .NET was introduced to the Microsoft programming world. The .NET Framework 2.0 introduced generics to complement the System.Collections namespace and provide a more efficient and well performing option. Read on to learn more...

How to Determine Which Office Version is Installed with VB.NET and C#
Knowing which version of MS Office is installed on the client computer is vital; unfortunately, many programmers see this as an afterthought. Hannes du Preeze shows you four different ways to determine the Office versions installed so that you don't make this mistake.

Building an Azure Queuing Message Pipeline
A developer building messaging solutions with Azure Queuing and Azure Service Bus should follow a Pipeline pattern when processing a significant number of different messages. One approach to building a Pipeline is to layer a message following an Envelope pattern.