2009-03-31 20 views
12

Tengo un programa que implementé usando el despliegue ClickOnce y luego lo instalé en mi máquina. He intentado ejecutarlo, y me dio el siguiente error:Problemas de instalación del despliegue de C#

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. 

No puedo desinstalar el programa, pero no puedo ver por qué (un cuadro de diálogo aparece por un segundo y desaparece antes de que pueda leerlo), y no puedo volver a instalar la aplicación hasta que haya desinstalado la versión anterior.

¿Cuál es el problema y qué puedo hacer al respecto?

Las versiones anteriores se implementaron con Visual Studio 2008. Esta versión se implementó con Visual C# Express Edition. Hay una dependencia para el paquete de conexión de MySQL. No he personalizado ninguna de las configuraciones al publicar, más allá de la ubicación del directorio y el número de versión (número de versión no duplicado).

+0

¿Está utilizando interoperabilidad con un objeto COM en su aplicación? ¿Está seguro de que está instalando correctamente el objeto COM en el sistema cliente? No puede simplemente implementar el ensamblado de interoperabilidad COM, también tiene que implementar el objeto COM. – casperOne

+0

La aplicación solía funcionar bien. La única diferencia entre las implementaciones anteriores y esta es que antes usaba VS2008, y ahora estoy usando Visual C# Express 2008. Estoy usando un complemento para MySQL. – Elie

+0

Para empezar, ¿cómo hago para desinstalar, ya que el panel Agregar o quitar programas no funcionará? Hay otra manera de hacer esto? – Elie

Respuesta

16

Su tienda de aplicaciones puede estar en mal estado. Usted puede tratar de eliminar esta clave (todo va a eliminar cualquier aplicación Click-Una vez instalados actualmente):

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

Como nota, si su aplicación 'funciona', además de que el error o en otras máquinas, entonces esto es probable que su problema.

+1

Este problema solo afecta a un usuario. ¿Afectará esto a todas las implementaciones de Hacer clic una vez? ¿Cómo puedo asegurarme de que solo elimine mi implementación? – Elie

+0

Sí, entonces este es probablemente su problema. Esta solución afectaría todos los deplyoments en esa máquina. No he encontrado una manera de arreglar esto sin haber dado un paso así; No tengo una plataforma de desarrollo en este momento para probar algunas cosas = ( – JasonRShaver

+0

) Acabo de utilizar esta solución con éxito. Odiaría hacer esto si hubiera más de una aplicación de esta naturaleza ... pero solo tenemos una. – Godeke

Cuestiones relacionadas