Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Latest posts

Detecting repair, patch install, and patch uninstall for Windows Installer
Aug 12, 2005
0
0

Detecting repair, patch install, and patch uninstall for Windows Installer

Heath Stewart
Heath Stewart

A frequently asked question is how to detect whether a product installed using Windows Installer is being repaired, or a patch is being installed or — starting with Windows Installer 3.0 — uninstalled. The answer is detecting which properties are set.When a product — or even a single feature or multiple features — is being repaired the property is set; however, understand that patching is the act of transforming the view of the original product and re-installing features that contain files to be patched. That means the property will also be set during patch install and uninstall scenario...

The Dangers of ARPSYSTEMCOMPONENT
Aug 5, 2005
0
0

The Dangers of ARPSYSTEMCOMPONENT

Heath Stewart
Heath Stewart

Back in March I wrote about the dangers of using the and registry keys. This is another post to help you avoid some other pitfalls.The property in Windows Installer does not actually do anything directly to your installation — Windows Installer doesn't even check for it. What does happen, however, is that the Add/Remove Programs (ARP) control panel applet normally queries Windows Installer for application and patch information. When is defined for a package, all the data is read from the registry key under .When is defined the installation package and patches are responsible for writing their own ARP r...

Compact Your VHD Files
Jul 31, 2005
0
0

Compact Your VHD Files

Heath Stewart
Heath Stewart

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 daily builds isn't always such a good idea, and because Windows Installer now caches MSP re-installing a patch with slightly different contents but the same PatchCode proves difficult.Of course we have labs full of machines, but because these run through a complete installat...

Answers to Windows Installer Issues
Jul 25, 2005
0
0

Answers to Windows Installer Issues

Heath Stewart
Heath Stewart

A few weeks ago the Windows Installer team started blogging. Over the course of last week Robert Flaming — now a PM for the Windows Installer team — posted a number of helpful troubleshooting tips that are generated in part from an internal discussion alias. Most teams within Microsoft use Windows Installer so the internal discussion alias gets a lot of questions and even more answers. Check out some of the more prominent replies now on the Windows Installer team blog.

Deciphering an HRESULT
Jul 21, 2005
0
0

Deciphering an HRESULT

Heath Stewart
Heath Stewart

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 an error, whether the error is from user code, a facility that defines where the error came from, and the actual error code. As defined in winerror.h: Return codes like and have the values 0 and 1, respectively. is not treated as an error because the severity bits are 0. ...

The View near Microsoft
Jul 20, 2005
0
0

The View near Microsoft

Heath Stewart
Heath Stewart

Working for Microsoft has been a dream since I was very young and now that I'm finally here I love this company even more. I believe in what we're doing and in the ways we help people. I think it's great we have such an energetic CEO, and I love Microsoft's commitment in improving our products and listening and working more with our customers. One other reason I really like working here is because of views like this. Mt. Rainier — at approximately 14,400 feet — is visible almost anywhere in Seattle and the Eastside (Redmond, Bellevue, etc.). Last weekend we made it to Reflection Lake and were able t...

Book Review: Threat Modeling
Jul 7, 2005
0
0

Book Review: Threat Modeling

Heath Stewart
Heath Stewart

Threat Modeling by our own Frank Swiderski and Window Snyder is one of those books you should read. Threat modeling may not be new, but if you're new to threat modeling you should pick up this book.Threat modeling is about understanding threats to your application or feature and deciding how to mitigate those threats so that you aren't left with vulnerabilities. This book is designed to help program managers, developers, and testers alike throughout the development lifecycle to construct and maintain threat models. Frank even wrote a tool to help ease the process of maintaining the threat model document available...

Latest Runtime Loaded when Hosting Managed Controls in IE
Jun 30, 2005
0
0

Latest Runtime Loaded when Hosting Managed Controls in IE

Heath Stewart
Heath Stewart

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 class to modify the machine policy.Now — almost 2 versions later — it's quite likely that you have several different managed runtimes installed onto your machine. Normally, mscoree.dll — the entry point for managed executables — will load the CLR, or si...

The INSERT/UPDATE Problem for Transforms in MSI
Jun 15, 2005
0
0

The INSERT/UPDATE Problem for Transforms in MSI

Heath Stewart
Heath Stewart

QA uncovered a problem when testing our patches for .NET Framework 1.0 and 1.1 lately that will ship with an updated binary that now runs as a service under Windows NT platforms. The file version was incremented but in the log file we saw the following:MSI (s) (3F:2B): Executing op: FileCopy(SourceName=netfxupd.exe|netfxupdate.exe, SourceCabKey=DDPatch.UpdateUtilFile, DestName=netfxupdate.exe, Attributes=4096, FileSize=106496, PerTick=32768,, VerifyMedia=1,,,,,CheckCRC=0,Version=1.0.3705.1,Language=0,InstallMode=42205184,,,,,,)MSI (s) (3F:2B): File: D:WINNTMicrosoft.NETFrameworkv1.1.4322netfxupdate.exe;  Won...