Resolving Prompts for Source

Resolving Prompts for Source

  • Comments 13

When discussing the Windows Installer cache, I mentioned how cabinet streams are stripped from the .msi file when the Windows Installer package is cached, and how this is a contributing factor to prompts for source. A prompt for source will occur when repairing or patching a product if the source for a file to reinstalled is not present. This results in the Windows Installer error 1706 to be displayed if installing with a user interface and in the log, and the Windows error 1603 (ERROR_INSTALL_FAILURE) to be returned from the process.

Prior to Windows Installer 2.0 the original installation source was always necessary but that was fixed by Windows Installer 2.0. Now by adhering to certain rules you can mitigate prompts for source:

  • Ensure no custom action access the original source location.
  • Populate the MsiFileHash table for un-versioned files.
  • Correctly populate the Version and Language columns in the File table for versioned files.

Using whole files in a patch is also a good idea, but if you can support only Windows Installer 3.0 and newer you can support binary delta patching against a baseline cache that Windows Installer creates for smaller patch size. This allows patches to contain a binary delta between the target and upgrade binary files. For example, a QFE targeting the RTM can contain deltas between the RTM- and QFE-level binaries regardless of other patches that are installed, as long as that patch would supersede any other QFE that patched the same file set. To take advantage of the baseline cache, one must author the MsiPatchSequence table into their .msp file. Administrators can set the maximum size for all baseline caches or even disable it - though not recommended - by setting the MaxPatchCacheSize policy.

Because the .NET Framework 2.0 has to support Windows Installer 2.0 as the highest version currently supported on Windows 98 and Me, the setup team create their own installer cache with all files contained in both the download redistributable as well as within the MSI. Cabinet streams are not stripped. This cache is found in %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Microsoft .NET Framework 2.0. The custom action CA_AddSource.3643236F_FC70_11D3_A536_0090278A1BB8 adds this path to the source list by calling the MsiSourceListAddSource function when the product is first installed. If and when the source of a file is required it is available and you do not have to obtain the original installation source as was sometimes necessary with previous released of the .NET Framework.

Leave a Comment
  • Please add 4 and 3 and type the answer here:
  • Post
  • I'm trying to repair Visual Studio 2005.  When I first installed, I downloaded the iso files from MSDN - I have since deleted the files of course.  We now have the Visual Studio 2005 CD.  When I try to repair, it fails.  It appears that the msi(?) is looking for the original installation files.  The repair fails even if I start it from the CD (as opposed to add/remove programs) and point to vs_setup.msi on the CD.  

    Here's an excerpt from the log file.

    Microsoft Visual Studio 2005 Professional Edition - ENU: [2] ERROR:Error 1706.An installation package for the product Microsoft Visual Studio 2005 Professional Edition - ENU cannot be found. Try the installation again using a valid copy of the installation package 'vs_setup.msi'.

    How do I correct this??

    Thanks.
  • tbahlke, sorry for the problems you're having. The edition you downloaded as an ISO from MSDN - was that also VS 2005 Pro (ENU)? Assuming that it was, were you not prompted for source? This blog post was more about how to eliminate it when it's not necessary, but when source is necessary, well, it's necessary.

    If you weren't prompted for source, try running the following from the command line:

    msiexec /fvomus {437AB8E0-FB69-4222-B280-A64F3DE22591} /l*v vs8_repair.log

    The "v" option in /fvomus will re-cache the source package so you hopefully won't get prompts for source again for Visual Studio 2005 Professional (ENU).
  • PingBack from http://www.alexthissen.nl/weblog/DetailsView.aspx?PostingID=fd566fb7-5092-450d-b1ed-96e0a29788d1
  • Just had this problem: when I try to do a build of my VS.NET 2003 solution I also build 3 MSI files.

  • Just had this problem: when I try to do a build of my VS.NET 2003 solution I also build 3 MSI files.

  • Just had this problem: when I try to do a build of my VS.NET 2003 solution I also build 3 MSI files.

  • Just had this problem: when I try to do a build of my VS.NET 2003 solution I also build 3 MSI files.

  • Fixing problems building MSI's in Visual Studio 2005 Team Suite

  • A lot of customers have recently started seeing the following errors, all stating in various ways that

  • PingBack from http://www.joyofsetup.com/2008/06/21/why-serviceability-is-important/

  • Windows Installer is an engine for performing transactional installations. When installing a product

  • Windows Installer 5.0 is shipping in Windows 7 as part of the operating system. To address the issue

  • During the rebuild of my development environment I wanted to use the same trick I used before to reduce...

Page 1 of 1 (13 items)