What causes ClickOnce URLDownloadToCacheFile failed during installation?
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.
Luke
I asked a lot of stupid questions and now I have a bunch of points!
Updated on June 24, 2022Comments
-
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.