Intricate bootstrapping: DependsOnProduct on a ClickOnce application?

System: Windows XP Professional, Corporate w/ ONLY Service Pack 2 installed. Application Profile: .NET Framework 4

I'm developing an application that uses ClickOnce deployment. The application relies on the following components:

    Windows Installer 3.1
    Windows Installer 4.5
    Microsoft .NET Framework 4 (x86 and x64)
    .NET Framework 3.5 SP1
    Microsoft Visual Basic PowerPacks 10.0
    Microsoft Visual Studio 2010 Report Viewer

Sequence of events (Windows XP Service Pack 2):

    Install Windows Installer 3.1 and request a reboot.
    Install Windows Installer 4.5 and request a reboot.
    The application then skips right to Microsoft .NET Framework 4

    Component Microsoft .NET Framework 4 (x86 and x64) has failed to install with the following error message:

    "A failure occurred attempting to install the .NET Framework 4 Full."

    The following components were not installed:

    - .NET Framework 3.5 SP1
    - Microsoft Visual Basic PowerPacks 10.0
    - Microsoft Visual Studio 2010 Report Viewer

    The following components failed to install:
    - Microsoft .NET Framework 4 (x86 and x64)

    See the setup log file located at 'C:\DOCUME~1\Phase\LOCALS~1\Temp\VSD1.tmp\install.log' for more information.

Open in new window

Log posted here for reference:

Relevant bootstrapper information for C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\Product.xml:

      <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
      <DependsOnProduct Code="Microsoft.Windows.Installer.4.5" />
    <IncludesProduct Code=".NETFramework,Version=v4.0,Profile=Client" />

Open in new window

Note: This application perfectly installs on Windows XP SP3.

With this in mind, how do I go about adding relevant information into DependsOnProduct that will resolve this hiccup?

Thank you for your time!
Who is Participating?
Jacques Bourgeois (James Burger)Connect With a Mentor PresidentCommented:
Not with the default ClickOnce deployment. It does a wonderful job, but does not let you control or add anything during the deployment and updates.

However, there is a System.Deployment.Application namespace that provides a lot of classes that enables you to customize ClickOnce. There are a few that deal with the CompatibleFrameworks and also a CompatibleFrameworkMissingException listed in there.

I haven't work with those, but I suppose that you should be able to build something with them.
Jacques Bourgeois (James Burger)PresidentCommented:
Look at the system requirements at the bottom of

.NET Framework requires SP3 on Windows XP. This is why it installs correctly on SP3 but not on SP2.
advantagecAuthor Commented:
That being said, is it possible to notify a user if they are running SP2 and stop the installation process with ClickOnce?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.