C#部署的安装问题

时间:2009-03-31 17:17:15

标签: c# .net

我有一个使用ClickOnce部署部署的程序,然后安装在我的计算机上。我试过运行它,它给了我以下错误:

PLATFORM VERSION INFO
    Windows                 : 5.1.2600.196608 (Win32NT)
    Common Language Runtime : 2.0.50727.3053
    System.Deployment.dll   : 2.0.50727.3053 (netfxsp.050727-3000)
    mscorwks.dll            : 2.0.50727.3053 (netfxsp.050727-3000)
    dfdll.dll               : 2.0.50727.3053 (netfxsp.050727-3000)
    dfshim.dll              : 2.0.50727.3053 (netfxsp.050727-3000)

SOURCES
    Deployment url          : file:///C:/../MyProg.appref-ms%7C

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\..\MyProg.appref-ms| 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
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [3/30/09 2:45:10 PM] : Activation of C:\..\MyProg.appref-ms| has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [3/30/09 2:45:16 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.SubscriptionState.Validate()
            at System.Deployment.Application.SubscriptionState.get_IsInstalled()
            at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
            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.

我无法卸载该程序,但我看不清楚原因(一个对话框弹出一秒钟并在我读取之前消失),并且在卸载旧版本之前我无法重新安装该应用程序。 / p>

问题是什么,以及我能做些什么呢?

以前的版本是使用Visual Studio 2008部署的。此版本是使用Visual C#Express Edition部署的。 MySQL Connection包有一个依赖项。发布时我没有自定义任何设置,超出目录位置和版本号(非重复版本号)。

1 个答案:

答案 0 :(得分:18)

您的应用程序商店可能搞砸了。您可以尝试删除此密钥(它将删除所有当前安装的Click-Once应用程序):

HKEY_CURRENT_USER\Software\Classes\SOFTWARE\Microsoft\Windows\CurrentVersion\Deployment\SideBySide

请注意,如果您的应用程序在该错误之外或其他计算机上“有效”,则可能是您的问题。