2011-10-15 13 views
10

Uno de nuestros usuarios tiene un problema muy grave con ClickOnce. El error es clásico:FileNotFoundException durante la instalación de ClickOnce, falta HKCU Software Classes Software

 Following errors were detected during this operation. * [14/10/2011 01:40:25] System.IO.FileNotFoundException 
     - The system cannot find the file specified. (Exception from HRESULT: 0x80070002) 
     - Source: System.Deployment 
     - Stack trace:  
at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore(UInt32 Flags, IntPtr hToken, Guid& riid)  
at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore() 
at System.Deployment.Application.ComponentStore..ctor(ComponentStoreType storeType, SubscriptionStore subStore)  
at System.Deployment.Application.SubscriptionStore..ctor(String deployPath, String tempPath, ComponentStoreType storeType)  
at System.Deployment.Application.SubscriptionStore.get_CurrentUser()  
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) 

Pero ninguna de las soluciones tradicionales funcionó. Tratamos:

  1. carpetas y archivos en Eliminar relacionada manifiesta a la aplicación
  2. Eliminar 2.0 carpeta
  3. Borrar carpeta de aplicaciones
  4. Run mago -cc
  5. Kill dfsvc.exe y vuelva a intentarlo (dfsvc se carga cada vez que falla)

Publiqué una aplicación helloworld en .NET 3.5 y .NET 4.0 y copié toda la carpeta \ publish a su máquina. Esto tampoco se instaló, dando el mismo error. Finalmente, fui al registro para intentar agregar el registro mejorado por RobinDotNet y me di cuenta de que HKCU \ Software \ Classes \ Software faltaba por completo. Siguiendo algunos hilos más, fui y cambié el nombre de UsrClass.dat. Sin embargo, después de cerrar la sesión e ingresar, esto no fue reconstruido. Sospecho que esto tal vez el problema. ¿Alguna idea sobre cómo hacer que ClickOnce vuelva a funcionar?

Se trata de una instalación de Windows 7 Professional relativamente reciente.

Actualización Aquí hay otra pista. Podemos cambiar el nombre de UsrClass.dat a cualquier cosa o eliminarlo sin ninguna queja de Windows, por lo que no se está cargando. En mi máquina, se queja de que está en uso.

+0

¿Qué quiere decir cuando dice que publicó la aplicación en .NET 3.5 y .NET 4.0 y copiado la carpeta \ publicar en su máquina? ¿Cuál es la URL de instalación para su aplicación? Porque copiarlo en la máquina no funcionará si está configurado para instalarlo desde otro lugar: se verá en esa ubicación. – RobinDotNet

Respuesta

0

Yo diría olvidarse de ClickOnce y obtener ese registro resuelto. Esto probablemente no es un tema correcto para stackoverflow, más como SuperUser.com ...

De todos modos:
1) Trate de una restauración del sistema, ver si se puede encontrar un estado en el que existe la sección del Registro, es posible que tenga regresar muchas semanas.
2) Intente exportar esa sección de registro de su máquina e impórtelo a la máquina del cliente. Vea si el error desaparece o si se queja de una colmena diferente - es posible que el registro esté dañado y queden otras colmenas también ...
3) Si estos dos no solucionan el problema, entonces es mejor hacer una instalación limpia (será más rápido que buscar la causa exacta del problema y puede estar seguro de que todo se arreglará)
4) Finalmente, desinstale cualquier limpiador de registro o software de ajuste de PC. Se sabe que causan problemas, la corrupción en el registro es uno de ellos. También compruebe si hay problemas de hardware, la unidad de disco duro podría haber desarrollado un bloque o bloques defectuosos o la memoria RAM podría estar defectuosa (ejecute MemTest para más de 3 pases)

0

¡Pruebe desinstalarlo y luego vuelva a instalarlo! Estoy seguro de que debería funcionar.

-1

Pruebe una herramienta para limpiar el registro. Nunca lo he experimentado, pero creo que no está relacionado con su aplicación ni el manifiesto, consulte un software o herramienta que podría estar causando este problema en la computadora de ese usuario.

0

trate de eliminar carpetas en:

C:\Users\username\AppData\Local\Apps\2.0\ 

Excepto Data carpeta.

Debe eliminar los archivos temporales de .NET Framework también:

C:\WINDOWS\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files 
Cuestiones relacionadas