Clickonce - 系统上未安装引用的程序集

时间:2017-02-28 13:55:27

标签: clickonce

我的部分用户无法从我们的网站启动clickonce应用程序,而其他用户则可以。我们收到一条消息The referenced assembly is not installed on your system但是从日志中我不知道他们正在讨论什么组件。我该如何追踪这个?

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.

1 个答案:

答案 0 :(得分:0)

开始调查的一个好处是项目设置的Application Files标签上的Publish对话框。查找Prerequisite列中标记为Publish Status的程序集。

另一个调查对象可能是应用程序清单。您将在发布文件夹中找到应用程序可执行文件旁边名为[application name].exe.manifest的文件。搜索dependentAssembly个属性设置为dependencyType的{​​{1}}个节点。