vswhere Available

After feedback on the VSSetup PowerShell module to query Visual Studio 2017 and related products, I’m pleased to say that a native, single-file executable is available on GitHub: vswhere. The VSSetup PowerShell module is also available on GitHub and provides a number of benefits for PowerShell scripts, but build tools and CMake and deployment scripts… Read more

Visual Studio Setup PowerShell Module Available

To make the new setup configuration APIs more accessible to developers, we have published the “VSSetup” PowerShell module on powershellgallery.com, making it quick and easy to install. If you have Windows Management Framework (WMF) 5.0 or newer – installed with Windows 10 – or PowerShellGet for PowerShell 3.0 or 4.0, you can run the following… Read more

Documentation available for the Setup Configuration API

Visual Studio 2017 has brought big changes to extensibility that allow developers to install extensions to different instances and install dependencies. In support of multiple instances, a fast API was required that tools can use to find and launch VS and related tools, or to install extensions. I previously published some samples, and now documentation… Read more

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