开发者

ClickOnce Error: The deployment identity does not match the subscription

开发者 https://www.devze.com 2023-01-04 05:59 出处:网络
I\'m using Visual Studio 2008 SP1. I have a Windows Forms application deployed internally using ClickOnce in a shared folder on the local network.

I'm using Visual Studio 2008 SP1.

I have a Windows Forms application deployed internally using ClickOnce in a shared folder on the local network.

The test certificate pfx expires in 2035.

I have published the update to the internal shared folder several times.

Note that the project is only set to 'Sign the ClickOnce manifests' and does not sign the assembly.

Now, I again publish a new version of my application.

When users click on their icons to run the application we get this error (it had always updated prior to deploying with 开发者_开发技巧the test certificate).

Dirección URL de la implementación :

file:///C:/Documents%20and%20Settings/Usuario.NOTARIAS3/Men%C3%BA%20Inicio/Programas/GrupoBackup/Expediente%20Electr%C3%B3nico.appref-ms%7C

Dirección URL del proveedor de la implementación :

file://192.168.13.111/compartida/AdministradorWin.application La

activación de C:\Documents and Settings\Useuario.NOTARIAS3\Menú

Inicio\Programas\GrupoBackup\Expediente Electrónico.appref-ms| dio

como resultado una excepción. Se detectaron los siguientes mensajes de

error:

+ The deployment identity does not match the subscription

OPERATION PROGRESS STATUS * [2/20/2008 11:23:21 AM] : Activation of

C:\Documents and Settings\Usuario.NOTARIAS3\Menú

Inicio\Programas\GrupoBackup\Expediente Electrónico.appref-ms| has

started. * [2/20/2008 11:23:21 AM] : Performing necessary update

check as specified by the deployment.

ERROR DETAILS

  • [21/06/2010 20:33:10] System.Deployment.Application.DeploymentException (SubscriptionState)

  • La identidad de la implementación no coincide con la suscripción.

  • Origen: System.Deployment

  • Seguimiento de la pila: en System.Deployment.Application.SubscriptionStore.CheckUpdateInManifest(SubscriptionState

    subState, Uri updateCodebaseUri, AssemblyManifest deployment, Version

    currentVersion) en

    System.Deployment.Application.ApplicationActivator.PerformDeploymentUpdate(SubscriptionState&

    subState, String& errorPageUrl) en

    System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String

    shortcutFile, String& errorPageUrl, TempFile& deployFile) en

    System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri

    activationUri, Boolean isShortcut, String textualSubId, String

    deploymentProviderUrlFromExtension, BrowserSettings browserSettings,

    String& errorPageUrl) en

    System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object

    state)

I use regedit to search for this key:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\7e3a7433abfe6213

PC non updated

AppId file://192.168.13.111/COMPARTIDA/AdministradorWin.application#AdministradorWin.app, Culture=neutral, PublicKeyToken=4b005ceeffd565b0, processorArchitecture=msil

Version = 1.0.0.14

FileName = Expediente Electrónico

Publisher = GrupoBackup

Folder Name = GrupoBackup

PC UPDATED (uninstall-reinstall, but I want to AVOID it)

AppId file://192.168.13.111/compartida/AdministradorWin.application#AdministradorWin.application, Culture=neutral, PublicKeyToken=4b005ceeffd565b0, processorArchitecture=msil

Version = 1.0.0.30

FileName = Expediente Electrónico

Publisher = GrupoBackup

Folder Name = GrupoBackup

SuiteName= OGF Suite

Changes PC Non updated - Pc updated are:

1.) Suite Name is new value (I set it in properties Publish tab in Visual Studio)

2.) Version

and 3.)

AdministradorWin.app

from file://192.168.13.111/COMPARTIDA/AdministradorWin.application#AdministradorWin.app,

vs

AdministradorWin.application,

from file://192.168.13.111/compartida/AdministradorWin.application#AdministradorWin.application,

If I uninstall and then reinstall the app from scratch it all works. However, I was trying to avoid having to do this.

I get this error when I try to deploy a project that was previously successful.

I re-tried, after deleting all the manifests, but still no joy.

Is there a way to fix this?

In Publish Options -> Manifests

Use application manifest for trust information is UN CHECKED.


Did you change your target CPU from Any CPU to x86?

If you changed this, you will have to reinstall the application.


'Check Publish -> Installation Folder URL' and make sure it is not set incorrectly (sometimes it only shows up during publishing process)

'Check Publish -> Updates...' and make sure the Update Location is not set incorrectly.

To be absolutely sure set both these to be the same as the Publishing Folder Location. You'll need to tick 'The Application should check for update - Before the application starts'.

I had to do this to fix issue in my case.


What do you mean when you say the following? "Changes: I set Suite Name value; Version and #AdministradorWin.app, vs #AdministradorWin.application".

It's the last bit I'm interested in. Did you change the assembly name?

There are a handful of settings that make up the identity of the deployment. Target CPU (as noted by zezespecial above), installation URL, and assembly name are three of them. Did you change any of these? What other changes did you make to the deployment?


In my case, using Azure DevOps Pipelines, the project setting that generates the manifests got accidentally set to false somehow. I noticed it while comparing source control history versions of the project file. My fix was to manually (re)insert this property group into the csproj project file:

<PropertyGroup>
    <GenerateManifests>true</GenerateManifests>
</PropertyGroup>


I had the "the deployment identity does not match the subscription" error after publishing a clickonce update.

I resolved this by:

  1. Delete the clickonce deployment folder contents (with "setup.exe").

  2. Delete the local (on the user PC) clickonce installation cache. Easiest is to delete all the contents of the folder: "C:\Users\[username]\AppData\Local\Apps\2.0" but this will delete all clickonce app installs.

  3. Recompile and republish the clickonce deployment.

  4. Reinstall the clickonce app on the client machine.

That resolved it for me.

Really cleaning out the client clickonce installation cache (#2 above) has resolved many different but similar issues for me a number of times.


If you need to change the assembly target, installer location, cert etc, you can automate the uninstall/reinstall process. Refer my post at: https://stackoverflow.com/a/73017220/618660


My problem was the Publication and Installation were different, but I did not indicate that was the case in the Publish section. Once I put C:\Temp for Publication and the URL where the application would run for Installation (http://....) the problem disappeared. Aloha

0

精彩评论

暂无评论...
验证码 换一张
取 消