Visual Studio Setup

Installation and containerization of the Visual Studio family of products

Windows Installer Properties and Conditions

In many languages, some variables can take a value of different types but with the same meaning. Variants in script, for example, can take 0 or false; or they can take any non-zero value and true. The following JScript example prints "Same".The same is not true of Windows Installer however, and conditions must acknowledge this. Setting a ...

ARPSYSTEMCOMPONENT and Sequencing

Sequencing Windows Installer patches is typically straight forward but when the original product install or a previous, non-superseded patch defines as 1 in the Property table a custom supersedence plan is necessary to support writing Add/Remove Program registry keys correctly with patch supersedence and sequencing in mind...

A Better Way of Working with ARPSYSTEMCOMPONENT

Just when you thought the series on was over, I present to you an improved plan for supporting custom supersedence so that you can ship effectively superseded patches and still support N-1 patches, which are patches that apply to the RTM or a previous Service Pack, but are produced after the SP that should supersede them and all other patches...

Supporting our Lifecycle Policy with ARPSYSTEMCOMPONENT

To conclude the series of the problems with , we will extend the workaround to support setting to support Microsoft's lifecycle policy on support N and N-1, where N would be a service pack, and N-1 would be the previous service pack or the RTM.Since we've essentially already developed our own sequencing feature in order to keep patches in ...

Working with ARPSYSTEMCOMPONENT

Continuing the series on the perils and necessity of , it's time to explain one solution for having your cake an eating it too.If you have determined that you need to define in your product RTM, remember that your product nor patches will not show up in the Add/Remove Programs (ARP) control panel unless you write entries for each to the ...

A Reason for ARPSYSTEMCOMPONENT

Last week I blogged about how is dangerous, but there are reasons for using it. Two reasons is defined in the product MSIs for the .NET Framework 2.0 and Visual Studio 2005 is to localize the Add/Remove Programs (ARP) entries, and to change certain registry values so that the external UI handler is invoked to handle the requested operation....

The Dangers of ARPSYSTEMCOMPONENT

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...