Clickonce - The referenced assembly is not installed on your system

1

Some of my users are unable to launch a clickonce application from our website, while others can. We are getting a message The referenced assembly is not installed on your system however from the log I have not a clue as to what assembly they are talking about. How can I track this down?

PLATFORM VERSION INFO
    Windows             : 10.0.14393.0 (Win32NT)
    Common Language Runtime     : 4.0.30319.42000
    System.Deployment.dll       : 4.6.1586.0 built by: NETFXREL2
    clr.dll             : 4.6.1586.0 built by: NETFXREL2
    dfdll.dll           : 4.6.1586.0 built by: NETFXREL2
    dfshim.dll          : 10.0.14393.0 (rs1_release.160715-1616)

SOURCES
    Deployment url          : http://myapp.example.com/MyDir/MyApp.application?t7ZqWrTkOp%2b1COP7P1YeWKiZ%2f0ifBW0SdoYOMhhSBBjOatTy9WDvq2fZcAadpm2Vdm9nB%2bGoZlAvTYKIxhVmaymMxZungC1lfuk2%2bp4JstCHKd5ospkLHUwMF17h1o%2f1HOeMya9eQtztA6DswY84VUjqUJ0y%2bqvX1iUvnWueL2SeLYEikPCHLKLmlKgW2H2qP%2f%2fwPMvWFub2zcEwB%2bHwqdaPhQCf8qse
                        Server      : Microsoft-IIS/7.5
                        X-Powered-By    : ASP.NET
    Deployment Provider url     : http://myapp.example.com/MyDir/MyApp.application
                        Server      : Microsoft-IIS/7.5
                        X-Powered-By    : ASP.NET
    Application url         : http://myapp.example.com/MyDir/MyApp.exe.manifest
                        Server      : Microsoft-IIS/7.5
                        X-Powered-By    : ASP.NET

IDENTITIES
    Deployment Identity     : MyApp-MySite.app, Version=5.40.14.4435, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=x86
    Application Identity        : MyApp-MySite.exe, Version=5.40.14.4435, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=x86, type=win32

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 http://myapp.example.com/MyDir/MyApp.application?t7ZqWrTkOp%2b1COP7P1YeWKiZ%2f0ifBW0SdoYOMhhSBBjOatTy9WDvq2fZcAadpm2Vdm9nB%2bGoZlAvTYKIxhVmaymMxZungC1lfuk2%2bp4JstCHKd5ospkLHUwMF17h1o%2f1HOeMya9eQtztA6DswY84VUjqUJ0y%2bqvX1iUvnWueL2SeLYEikPCHLKLmlKgW2H2qP%2f%2fwPMvWFub2zcEwB%2bHwqdaPhQCf8qse resulted in exception. Following failure messages were detected:
        + The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3)

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.
    * The manifest for this application does not have a signature. Signature validation will be ignored.
    * The manifest for this application does not have a signature. Signature validation will be ignored.

OPERATION PROGRESS STATUS
    * [2/27/2017 2:41:37 PM] : Activation of http://myapp.example.com/MyDir/MyApp.application?t7ZqWrTkOp%2b1COP7P1YeWKiZ%2f0ifBW0SdoYOMhhSBBjOatTy9WDvq2fZcAadpm2Vdm9nB%2bGoZlAvTYKIxhVmaymMxZungC1lfuk2%2bp4JstCHKd5ospkLHUwMF17h1o%2f1HOeMya9eQtztA6DswY84VUjqUJ0y%2bqvX1iUvnWueL2SeLYEikPCHLKLmlKgW2H2qP%2f%2fwPMvWFub2zcEwB%2bHwqdaPhQCf8qse has started.
    * [2/27/2017 2:41:38 PM] : Processing of deployment manifest has successfully completed.
    * [2/27/2017 2:41:38 PM] : Installation of the application has started.
    * [2/27/2017 2:41:38 PM] : Processing of application manifest has successfully completed.
    * [2/27/2017 2:41:40 PM] : Found compatible runtime version 4.0.30319.
    * [2/27/2017 2:41:40 PM] : Request of trust and detection of platform is complete.
    * [2/27/2017 2:41:45 PM] : Downloading of subscription dependencies is complete.
    * [2/27/2017 2:41:45 PM] : Commit of the downloaded application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [2/27/2017 2:41:45 PM] System.Runtime.InteropServices.COMException
        - The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3)
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Internal.Isolation.IStore.GetAssemblyInformation(UInt32 Flags, IDefinitionIdentity DefinitionIdentity, Guid& riid)
            at System.Deployment.Internal.Isolation.Store.GetAssemblyManifest(UInt32 Flags, IDefinitionIdentity DefinitionIdentity)
            at System.Deployment.Application.ComponentStore.GetAssemblyManifest(DefinitionIdentity asmId)
            at System.Deployment.Application.ComponentStore.GetSubscriptionStateInternal(DefinitionIdentity subId)
            at System.Deployment.Application.SubscriptionStore.GetSubscriptionStateInternal(SubscriptionState subState)
            at System.Deployment.Application.ComponentStore.CollectCrossGroupApplications(Uri codebaseUri, DefinitionIdentity deploymentIdentity, Boolean& identityGroupFound, Boolean& locationGroupFound, String& identityGroupProductName)
            at System.Deployment.Application.SubscriptionStore.CommitApplication(SubscriptionState& subState, CommitApplicationParams commitParams)
            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.
clickonce
asked on Stack Overflow Feb 28, 2017 by WhiskerBiscuit

1 Answer

0

A good point to start your investigation is the Application Files dialog on the Publish tab of the project settings. Look for assemblies that are marked as Prerequisite in the Publish Status column.

Another object of investigation could be the application manifest. You'll find the file named [application name].exe.manifest next to the application's executable in the publishing folder. Search for dependentAssembly nodes with dependencyType attribute set to preRequisite.

answered on Stack Overflow Mar 1, 2017 by The Chairman

User contributions licensed under CC BY-SA 3.0