C#部署的安装问题

Eli*_*lie 12 .net c#

我有一个使用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.
Run Code Online (Sandbox Code Playgroud)

我无法卸载该程序,但我看不出原因(一个对话框弹出一秒钟,然后在我可以读取之前消失),并且在卸载旧版本之前我无法重新安装该应用程序.

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

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

Jas*_*ver 19

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

HKEY_CURRENT_USER\Software\Classes\SOFTWARE\Microsoft\Windows\CurrentVersion\Deployment\SideBySide
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的应用程序除了该错误或其他计算机"正常工作",那么这可能是您的问题.