Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Blog Customizations, Part 2

As mentioned earlier, I wanted to persist your preferences for whether certain collapsible panels were in the collapsed or expanded state. With a simple ECMA-compliant wrapper class around and a few minor changes to the class, state for unique panels can be remembered. The cookie wrapper class is pretty straight forward: To initialize the , ...

Blog Customizations

In my seemingly never-ending quest to provide a simple, compact, yet stylish design for this blog I have recently made a customization based on what Josh Ledgard did sometime back to make collapsible panels, though I wanted something more easily reusable. I whipped together an ECMAScript — that is, ECMA-compliant JScript and ...

Handling GAC and NGEN Operations after Reboot

Some people have noticed a general slow-down after restarting their computers after installing a .NET Framework 1.0 or 1.1, or a Visual Studio .NET 2002 or 2003 patch. This is due to a change in how post-reboot operations are handled that are sometimes necessary after installing a patch.Windows Installer automatically schedules files for ...

Deploying Crystal Reports with your Managed Application

A common problem I see in various developer forums is trying to build an installation package with the Crystal Reports merge modules or running an application with Crystal Reports on another machine is that the registration code is often forgotten. You may see an error like the following on another machine where Crystal Reports has not been ...

Compact Your VHD Files

Many times it's necessary to debug solutions on other machines so that you don't corrupt your developer machine, because of different platform requirements, or to attach a debugger without changing the state of the machine. Testing Windows Installer patches is no different. We test on daily target builds using daily upgrade builds. Installing ...

Deciphering an HRESULT

Aaron Stebner recently blogged about ways to find out the cause of 1935 Windows Installer errors and I wanted to provide a little more background on what an defines. An in the 32-bit world and beyond is defined as a , or a signed 32-bit integer. It is defined in, among other places, winerror.h in the Platform SDK. It defines the severity of ...

Latest Runtime Loaded when Hosting Managed Controls in IE

I previously mentioned how I worked on a project that deploys managed applications via the Internet or an intranet. Some of my initial research was into hosting managed controls in Internet Explorer. The .NET Framework 1.0 originally granted no permissions to the Internet_Zone code group so we had to deploy a small setup that used a custom ...

Avoid Deadlocks in your Script Host when Tearing down JScript

A couple teams recently reported an issue where their script host hung due to deadlocks. Since jscript.dll was in the call stack for the hung thread it didn't take long for the bug to wind up in our lap, since CPX also sustains Windows Script. The problem was that as one thread was exiting and was passed to the callback in jscript.dll, the ...

Shell Extensions for .NET Assemblies, Version 1.3.1976

Today I released version 1.3.1976 of my Shell Extensions for .NET Assemblies. This version adds support for Windows Me and fixes a few bugs to provide column handlers and overlay icons for Windows Me, Windows 2000, and newer.(image) Among the fixes was a crashing bug that occurred because of an access violation exception when sorting by the ...

Unsupported Flag Really is Unsupported for NT4 Services

We are going through test passes on some new functionality for our patch build system and ran into a bug in a service I wrote to handle post-reboot commands without requiring an interactive login. The documentation for the SERVICE_STATUS structure for NT Services (a.k.a. Windows Services) states that the SERVICE_ACCEPT_STOP (0x40) is not ...