Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Updating Assemblies In-place with MSI
Jun 10, 2005
0
0

Updating Assemblies In-place with MSI

Heath Stewart
Heath Stewart

A frequently-asked question is how to install an assembly into the Global Assembly Cache (GAC) and overwrite the old assembly that has the same strong name. This is known as in-place updating.The first answer is "don't". Besides being a trusted global store for managed assemblies that is intrinsic to assembly resolution, the GAC also provides side-by-side versioning. Multiple versions of a managed assembly can exist in the GAC at the same time and the Common Language Runtime (CLR) loads a version based on the manifest for a calling assembly, or the calling assembly can load an assembly by its stron...

How to Fix Administrative Deployment for 64-bit .NET Framework Redistributables
Jun 7, 2005
0
0

How to Fix Administrative Deployment for 64-bit .NET Framework Redistributables

Heath Stewart
Heath Stewart

If you've tried to install the .NET Framework 2.0 Beta 2 redistributable for either ia64 or x64 from an administrative installation point, you might've seen an error like the following: While investigating patching scenarios for 64-bit SKUs I found that for source extraction and administrative installs the 32- and 64-bit files map to the same paths. This, unfortunately, shipped in beta 2. The problem this causes is that a 64-bit call to will fail to load a 32-bit DLL such as mscoree.dll. Only the 64-bit libraries wow64.dll, wow64win.dll, wow64cpu.dll, and ntdll.dll can be loaded into a 32-bit process, so the er...

Avoid Deadlocks in your Script Host when Tearing down JScript
Jun 6, 2005
0
0

Avoid Deadlocks in your Script Host when Tearing down JScript

Heath Stewart
Heath Stewart

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 JScript garbage collector was releasing objects that were not yet released. If any of these objects in their implementations or the destructors — when applicable — wait on other threads to be torn down, a deadlock occurs in the OS loader lock, which prevents mult...

Raw Images to be Supported in Longhorn
Jun 3, 2005
0
0

Raw Images to be Supported in Longhorn

Heath Stewart
Heath Stewart

As a photography enthusiast and the son of a professional photographer (SLR, or "single lens reflex"), I am excited to read that Longhorn will support raw image formats from several manufacturers of digital cameras and digital SLRs.Raw images are pre-pixilated dumps from the image sensor - a CCD - that are comparable to film. Keeping raw images as master copies allow you to produce anything of equal or lesser quality. While most high-resolution JPEGs are suitable for most enthusiasts and even some professional uses, the raw image format - a manufacturer proprietary format, unless Adobe succeeds in getting ma...

Shell Extensions for .NET Assemblies, Version 1.3.1976
May 30, 2005
0
0

Shell Extensions for .NET Assemblies, Version 1.3.1976

Heath Stewart
Heath Stewart

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.Among the fixes was a crashing bug that occurred because of an access violation exception when sorting by the public key token column in Windows Explorer. Because IAssemblyInfo::IsAssembly may return S_FALSE the SUCCEEDED macro is hardly sufficient. A null BSTR was be assigned to VARIANT::bstrVal when VARIANT::vt was set to VT_BSTR. Thanks to Virtual PC 2004, base images of Windows Me and XP ...

New Logo for CPX
May 20, 2005
0
0

New Logo for CPX

Heath Stewart
Heath Stewart

The Developer Division Customer Product-lifecycle Experience team has a new logo thanks to his impromptu logo contest on Channel9. CPX voted for several logos over the last couple of weeks and the winner was chosen.

Unsupported Flag Really is Unsupported for NT4 Services
May 18, 2005
0
0

Unsupported Flag Really is Unsupported for NT4 Services

Heath Stewart
Heath Stewart

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 supported under Windows NT (i.e., Windows NT 4.0). Typically in Win32 unsupported flags are passively ignored. They are masked out by the bitwise check for the flags of interest with statements like the example below: As I found out today, however, the service control codes&...

MSN Search Toolbar with Windows Desktop Search Released
May 16, 2005
0
0

MSN Search Toolbar with Windows Desktop Search Released

Heath Stewart
Heath Stewart

MSN has released the final version of their MSN Search Toolbar with Windows Desktop Search, formerly known as the MSN Toolbar Suite with Desktop Search.Not a lot seems to have changed from a high level except for the user interface. The desktop band is smaller and the system tray (systray) icon has changed slightly, but build 02.01.0000.2214 is a breath of fresh air since build 02.01.0000.1203 has been around for quite some time. I find this tool extremely useful at work in a culture where email is a primary means of communication and my inbox scrollbar is as small as it can possibly be.

Windows Installer 3.1 Redux
May 13, 2005
0
0

Windows Installer 3.1 Redux

Heath Stewart
Heath Stewart

Last night the Windows Installer 3.1 redistributable was uploaded back onto the Microsoft Download Center. Version 2 of the redistributable addresses the issue where Windows Installer 3.1 would fail when trying to silently update a file under Windows File Protection.