What causes ClickOnce URLDownloadToCacheFile failed during installation?

17,723

Internet Explorer calls either LaunchApplication or ShOpenVerbApplication procedure from dfshim.dll behind the scenes, whereas Firefox plug-in (as well as a standard bootstrapper created by Visual Studio 2008-2010, which could also produce this rare error) uses a different, out of date technique to launch ClickOnce applications. (Note, that LaunchApplication requires at least .NET Framework 2 SP 2.)

To avoid such error one could redirect Internet Explorer to a deployment manifest (.application) and all other browsers to a custom installer (.exe) that would install .NET Framework if necessary and then call ShOpenVerbApplication.

Share:
17,723
Luke
Author by

Luke

I asked a lot of stupid questions and now I have a bunch of points!

Updated on June 24, 2022

Comments

  • Luke
    Luke almost 2 years

    I'm getting the following error when installing my ClickOnce application via firefox. It doesn't happen with IE on the same computer. I swear I've installed it via firefox before. This is a Windows 7 machine.

    The following properties have been set:
    Property: [AdminUser] = true {boolean}
    Property: [ProcessorArchitecture] = Intel {string}
    Property: [VersionNT] = 6.1.0 {version}
    Running checks for package '.NET Framework 2.0 (x86)', phase BuildList
    Running external check with command 'C:\Users\luke\AppData\Local\Temp\VSDEF1A.tmp\DotNetFX\dotnetchk.exe' and parameters ''
    Process exited with code 1
    Setting value '1 {int}' for property 'DotNetInstalled'
    Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
    Read string value '8.0.7600.16385'
    Setting value '8.0.7600.16385 {string}' for property 'IEVersion'
    The following properties have been set for package '.NET Framework 2.0 (x86)':
    Property: [DotNetInstalled] = 1 {int}
    Property: [IEVersion] = 8.0.7600.16385 {string}
    Running checks for command 'DotNetFX\instmsia.exe'
    Result of running operator 'ValueExists' on property 'VersionNT': true
    Result of checks for command 'DotNetFX\instmsia.exe' is 'Bypass'
    Running checks for command 'DotNetFX\WindowsInstaller-KB893803-v2-x86.exe'
    Result of running operator 'ValueExists' on property 'Version9x': false
    Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.0.3': false
    Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '3.0': true
    Result of checks for command 'DotNetFX\WindowsInstaller-KB893803-v2-x86.exe' is 'Bypass'
    Running checks for command 'DotNetFX\dotnetfx.exe'
    Result of running operator 'ValueNotEqualTo' on property 'DotNetInstalled' and value '0': true
    Result of checks for command 'DotNetFX\dotnetfx.exe' is 'Bypass'
    '.NET Framework 2.0 (x86)' RunCheck result: No Install Needed
    Launching Application.
    URLDownloadToCacheFile failed with HRESULT '-2146697211'
    Error: An error occurred trying to download 'http://croppy.lukehunter.net/download/croppy.application'.
    

    The following is the howto from Microsoft, but this doesn't apply to firefox. There is no redirection happening either.

    If a user has set Internet Explorer Advanced Security option "Warn if changing between secure and not secure mode" on the deployment target computer, and if the setup URL of the ClickOnce application being installed is redirected from a non-secure to a secure site (or vice-versa), the installation will fail because the Internet Explorer warning interrupts it.