• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 930
  • Last Modified:

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: r66tech.com/logs

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

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

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!
0
advantagec
Asked:
advantagec
  • 2
1 Solution
 
Jacques Bourgeois (James Burger)Commented:
Look at the system requirements at the bottom of http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17851

.NET Framework requires SP3 on Windows XP. This is why it installs correctly on SP3 but not on SP2.
0
 
advantagecAuthor Commented:
That being said, is it possible to notify a user if they are running SP2 and stop the installation process with ClickOnce?
0
 
Jacques Bourgeois (James Burger)Commented:
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.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now