locked
Reference in the manifest does not match the identity of the downloaded assembly RRS feed

  • Question

  • I am pulling my hairs on deploying an app using ClickOnce. My setup starts successfully but in the middle way it gave me the following error:

    Application validation did not succeed. Unable to Continue.

    And when I go into the details I got the following error for one of my assemblies:

    Reference in the manifest does not match the identity of the downloaded assembly ABC.dll

    So I look into Manifest properties but I have no CheckBox for "Create application without a manifest" in my project properties under application tab.

    Let me tell you that I have one Windows Forms Application which is my startup project and has references to all other class libraries in my solution.

    • I didn't sign any assembly of my project. Since I am just testing it.

    • I didn't sign the manifest for clickOnce. (I already tried with signing it but of no use. Still got the error)

    • In Securities tab for startup project I enabled ClickOnce security settings as a full trusted application.

    So I dig little deeper and explored the deployed app on the server. I opened the deployed App.exe.manifest file in Notepad and check the dependencies. And I saw that the assembly for which I am getting the error is declared twice in the manifest as:

    <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ABC.dll" size="65536">
          <assemblyIdentity name="ABC" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
            <dsig:DigestValue>zoH9i3EV/GfB1IJTs/iXz41Vr4cFDvOC1PFFpmAr3fk=</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ABC.dll" size="51200">
          <assemblyIdentity name="ABC" version="1.0.0.1" language="neutral" processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
            <dsig:DigestValue>s5Mx3lGZz1IRniPK/znb0QgLd7Tqs3utZLrXpZ2r9Hk=</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>

    So the only difference between the two declarations is:

    1. Version

    2. Size

    3. DigestValue

    So I went to VS and Exclude that assembly from being deployed. But even after being excluded I got one declaration of that (ABC.dll) in my manifest with size of 51200 and the declaration with size of 65536 was not there.

    But when I run the setup I didn't get the error for ABC.dll but got the same error for another of my assembly and that too was declared twice in manifest.

    How can I solve it? Please help....


    Tuesday, January 19, 2016 12:26 PM

Answers

  • >So I look into Manifest properties but I have no CheckBox for "Create application without a manifest" in my project properties under application tab.

    There isn't a checkbox - it's an option in a combobox.

    If you go to project properties > Application

    On that tab is a combobox headed "Manifest:"

    By default you will see

    "Embed manifest with default settings"

    Drop the combo down and choose the other option

    "Create Application without a manifest"


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    Tuesday, January 19, 2016 6:54 PM

All replies

  • >So I look into Manifest properties but I have no CheckBox for "Create application without a manifest" in my project properties under application tab.

    There isn't a checkbox - it's an option in a combobox.

    If you go to project properties > Application

    On that tab is a combobox headed "Manifest:"

    By default you will see

    "Embed manifest with default settings"

    Drop the combo down and choose the other option

    "Create Application without a manifest"


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    Tuesday, January 19, 2016 6:54 PM
  • This do not help - the same error.
    Tuesday, June 6, 2017 7:30 AM