Changes to Visual Studio “15” Setup

We’ve listened to feedback over the years, and while each new release brought changes to the setup experience of Visual Studio and related products, none have been more significant than what we’re doing for Visual Studio “15”. New setup engine With Visual Studio supporting so many platforms and toolkits, one of the goals for Visual… Read more

Insert GUIDs directly into Visual Studio Code

Let me preface this by stating I love Visual Studio Code! While I think its big, older brother Visual Studio is great for large solutions or even small projects where project files are managed automatically by the IDE, Code work great for small, loose projects and is very fast. I still use Vim for a… Read more

How to register your program for file extensions shared with other programs

One frequently asked question is, “how do we register our program for a file extension when other versions (or programs) that handle it might also be installed?” The overarching question is really about how to have non-shared resources both write to a shared resource.  But in the case with the Windows registry and file associations… Read more

Seeing colors with psake

Psake (pronounced like Japanese “sake”) is a build automation tool similar to others out there like make, rake, etc., but built using PowerShell as the language of choice. So it should be no surprise that I use it for my Windows Installer PowerShell Module. It’s useful for automating tasks not limited to just calling MSBuild,… Read more

Windows Installer PowerShell Module 2.2.1 Released

Yesterday I released servicing update 2.2.1, which updates 2.2.0 to fix a few bugs and add a few cool new features: You can define the [string] $MsiAttributeColumnFormat variable to dictate how attribute columns should appear. The values you can pass are the same as the enumeration format strings, except that “G” displays the culture-invariant decimal… Read more

Windows Installer PowerShell Module 2.2.0 Released

Years ago I released PowerShell cmdlets (“command-lets”) that make querying product and patch information easy and robust. Windows PowerShell is a powerful shell that pipes objects – not simply text – and provides full access to the .NET Framework as part of the language (though higher-level constructs are most often better). Earlier this week I… Read more

Help Improve the .NET Framework Deployment Experience

My colleague Peter Marcu, who is leading the development effort on the new deployment experience for the .NET Framework, is seeking information from our developer customers how you deploy the .NET Framework for your applications. If you’re a developer who requires and needs to deploy the .NET Framework to support your applications, please take a… Read more

Functional Testing of Cmdlets

While developing unit and functional tests for Windows Installer PowerShell Extensions, I needed a way to invoke cmdlets without requiring elevation on Vista. That is, of course, because running elevated has always been a bad idea unless it is required. In order to load a PowerShell snap-in, however, one must write to HKEY_LOCAL_MACHINE which requires… Read more

Fixes in Microsoft .NET Framework 2.0 SP1 and 3.0 SP1

A reader pointed out that the list of fixes for .NET Framework 2.0 Service Pack 1 were published. I also see from the .NET Framework 3.5 download page that the list of fixes for .NET Framework 3.0 Service Pack 1 were also published. Both are listed below. Problems that are fixed in the .NET Framework… Read more

Shim Database to XML

Extracts data as XML from a shim database used for application compatibility. Please leave feedback on the tool here on this page. This was developed using what little public documentation is available on MSDN as well as some experimentation at other functions that were exported from apphelp.dll, such as SdbReadBYTETag() which I reasoned follows the… Read more