15
votes

I am having trouble on ClickOnce Application with FireFox and Chrome in IE it works fine. the Detail Of exception is:

PLATFORM VERSION INFO
    Windows             : 6.1.7600.0 (Win32NT)
    Common Language Runtime     : 4.0.30319.239
    System.Deployment.dll       : 4.0.30319.1 (RTMRel.030319-0100)
    clr.dll             : 4.0.30319.239 (RTMGDR.030319-2300)
    dfdll.dll           : 4.0.30319.1 (RTMRel.030319-0100)
    dfshim.dll          : 4.0.31106.0 (Main.031106-0000)

SOURCES
    Deployment url          : file:///C:/Users/ibz/Downloads/MyApp.application

IDENTITIES
    Deployment Identity     : MyApp.application, Version=1.0.1.23, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil

APPLICATION SUMMARY
    * Online only application.
    * Trust url parameter is set.
ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\Users\ibz\Downloads\MyApp.application resulted in exception. Following failure messages were detected:
        + Deployment and application do not have matching security zones.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    * The manifest for this application does not have a signature. Signature validation will be ignored.

OPERATION PROGRESS STATUS
    * [2/10/2012 4:53:18 PM] : Activation of C:\Users\ibz\Downloads\MyApp.application has started.
    * [2/10/2012 4:53:18 PM] : Processing of deployment manifest has successfully completed.
    * [2/10/2012 4:53:18 PM] : Installation of the application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [2/10/2012 4:53:18 PM] System.Deployment.Application.InvalidDeploymentException (Zone)
        - Deployment and application do not have matching security zones.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
            at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
            at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

Please Help Me out on this problem.

7
Have you tried messing around with the ClickOnce security settings? - Zenexer
Yes, Enable ClickOnce Security Settings is checked. And This is a full trust Applicatoin. - Bindas
This probably won't fix the problem, but you should sign the ClickOnce manifests. - Zenexer
@Zenexer I have tried. still the same problem. - Bindas

7 Answers

5
votes

Downloading file breaks relative link

The problem is that the error message should have been ExampleAppName.exe.manifest could not be found.

If you open the ExampleAppName.application file that was downloaded you can see it probably points to a path like Application Files\ExampleAppName.exe.manifest and that file does not exist locally.

It still works in IE because IE starts the installer WITHOUT downloading the file. Then the manifest file does in fact exist in a relative path to where the ExampleAppName.application file is on the Internet.

Manually convert into absolute link

The fix is to change the ExampleAppName.application file and provide it an absolute path to where the AppName.exe.manifest exists on the Internet.

2
votes

You need to install the ClickOnce Extension for Chrome and enable it. Your application will run instantly without you clicking on the downloaded app.

1
votes

If you're getting the error above, then it doesn't think you're signing the manifests. Be sure in the Signing tab that you have the checkbox checked, and a valid certificate selected. Also, are you publishing this in Full Trust or partial trust? If doing Partial Trust, change it to Full Trust, especially if doing internet install.

1
votes

Configure Visual Studio to include update location

This works for VS2008 projects at least:

Properties -> Publish -> Updates -> Set the update location to http://www.example.com/ApplicationName/

This will add a <deploymentProvider codebase=... /> subsection to the <deployment> section in your .application file. And this (at least) Chrome accepts.

0
votes

In Visual Studio 2013 I've verified that this error is caused by having the "Exclude deployment provider URL" checked in the Publish options of the project.

Project Properties > Publish > Options > Manifests > Un-tick "Exclude deployment provider URL"

As a extra precaution, make sure to provide your root URL where the application updates/install will live:

Project Properties > Publish > Updates > Update Location (Provide the root URL where this application will be found)
0
votes

None of the solution above works for me.

Clicking Set Time automatically and Sync the time fix it for me.

Reason I did that is because it's 2/8/2021 in my PC and 8/2/2021 in my client's PC. So I thought that might be related somehow and it did fix the problem.

0
votes

I solved it by commenting out the content of application tag in app.manifest file.


    <application>
      <!-- A list of all Windows versions that this application is designed to work with. 
      Windows will automatically select the most compatible environment.-->

      <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>-->

      <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->

      <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>-->

      <!--The ID below indicates application support for Windows 8.1 -->
      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>-->
      
      <!--The ID below indicates application support for Windows 10 -->
      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>-->

    </application>

Note: If clickonce is signed then removing only the vista one would do the trick otherwise remove the entire section. You can also try signing the clickonce in the first place. Hope this helps!!!