Visual Studio Setup
Installation and containerization of the Visual Studio family of products
Latest posts
Repair Your Products After an OS Upgrade
The Microsoft .NET Framework 2.0, Visual Studio 2005, and SQL Server 2005 will soon be shipping. If you'll be installing these products and are planning on upgrading your operating system later be sure to repair the product from the Add/Remove Programs (ARP) control panel.Some components don't install on certain operating systems. Mostly notably are ASP.NET server-related files on Windows 98 and Me, and Win32 Side-by-Side components on older Windows NT-based platforms. When you upgrade the operating systems you'll most likely want these installed. They aren't installed originally because they are transitive compo...
MSDN Magazine Available for Download
Maybe I'm the last one to realize this, but in case I'm not I wanted to share with the rest of you.When I became I Microsoft MVP back in January 2004, I was entitled to a free MSDN Magazine subscription. I've had this before and it is a great magazine comprised of interesting, helpful articles by some very good authors. My subscription just ran out last month but I decided not to renew because it's available online for free and now I'd have to pay for it. I do miss having it in-hand, however, during long flights and other times when it'd be nice to read.Stephen Toub — author of the ".NET Matters" columns in...
Supporting MSI 2.0 and Newer Features
Like all major upgrades, Windows Installer adds features to at least each major version released. Windows Installer 2.0 added support for managed and Win32 assemblies, signed installer support, and much more over previous 1.x versions of Windows Installer. Windows Installer 3.0 added support for more robust patch sequencing, installing multiple patches at once, double-clickable patches, and more.The version of Windows Installer supported on Windows 98 and Me is Windows Installer 2.0 but from my announcement earlier today you can see that the Microsoft .NET Framework 2.0 and Visual Studio 2005, at least, will requ...
.NET 2.0 and Visual Studio 2005 Patches will Required MSI 3.1
The .NET Framework 2.0 and Visual Studio 2005, along with SQL Server 2005 and BizTalk Server 2006, will be officially launched November 7th. .NET and Visual Studio, at least, will require that you have Windows Installer 3.0 installed on Windows NT-based platforms, including Windows 2000, Windows XP, Windows 2003, and newer. If you have Windows XP SP2 installed you have at least Windows Installer 3.0. If you have Windows 2003 SP1 installed, or you have Windows XP or Windows 2003 for x64 then you already have at least Windows Installer 3.1.For reasons that affect servicing, patches for .NET and the Visual...
MSI Databases and Code Pages
A Windows Installer database is full of strings. Most times those strings don't cause a problem when using the standard, printable characters found in all code pages. These are called ASCII characters and are the same for the first 7 bits (0x00 through 0x7F) for all code pages except for a few rare code pages in existence for legacy support. If a Windows Installer database requires extended characters — characters where the 8th bit is set (0x80 through 0xFF) — then a code page is necessary to define how those characters are displayed. For example, decimal character 255 is ÿ in ANSI code page 1252...
Double-clickable Patches
Beginning with Windows Installer 3.0, bare .msp files can be double-clicked (invoked with the default verb) and will install correctly, assuming no other problems. Windows Installer will determine the updated features based on the changed components and will automatically reinstall those features. The effect is the same as specifying those features in the property, which is what you had to do previously for patches. This can be done for patches on previous versions of Windows Installer as well.When we build patches we keep track of what components are updated and added, then calculate what features are updated b...
Building Quality Windows Installer Packages
Building quality installation packages not only helps set up your application correctly but also helps maintain your application. A quality installer fosters quality patches. The Windows Installer SDK offers a lot of information about how to author installation packages but how do you do it right? Why not ask the Windows Installer team?The Windows Installer team has announced a new series on building quality installers. Windows Installer is a powerful installation technology that also boasts resiliency but to harness all its features you have to author data a certain way. There are some good installer develo...
Controlling how MsiPatchSequence is Generated
When running on Windows Installer 3.0 and newer, the MsiPatchSequence table dictates how patches apply to a target product install. When using PatchWiz.dll, you can allow this table to be automatically generated, fill it with data yourself, or even prevent it from being generated if you want Windows Installer 2.0 behavior. This means that applicable patches will only be applied in the order specified, among other things.PatchWiz.dll is used to automatically generate transforms between 1 or more sets of target and upgrade .msi files, store them in an .msp file, and compress all the changed files in a .cab file tha...
Don't Install from a Drive Substitution
If you're not familiar with the subst.exe application, it allows you to create DOS devices for a given path using the API. Note in the API remarks the following:Windows Server 2003 and Windows XP: The function creates a device name for a caller that is not running in the LocalSystem context in its own Local MS-DOS device namespace. If the caller is running in the LocalSystem context, the function creates the device name in the Global MS-DOS device namespace.Because the Windows Installer service running as LocalSystem handles the deferred installation, on Windows XP and newer the system account will not have that...