2011-06-27 43 views
8

Así que aquí está un breve resumen del problema:ClickOnce Despliegue - asociación de archivos no registrar

Resumen:

puse fileAssociations de mis aplicaciones ClickOnce, sin embargo, son no registrar cuando I ejecutar/actualizar mi programa (como en, los archivos .bvr que estoy tratando de asociar no tienen ícono y no puedo hacer doble clic en ellos para iniciar mi aplicación).

Historia:

primera vez que trató de ir a Propiedades -> publicar -> Opciones -> Asociaciones de archivos y la configuración de mis asociaciones de allí. Después de que el intento fallido, He intentado establecer directamente en app.manifest:

<fileAssociation 
xmlns="urn:schemas-microsoft-com:clickonce.v1" 
extension=".bvr" 
description="Behavior File" 
progid="GGS.Behavior" 
defaultIcon="bvrico.ico" 
/> 

He leído tantos artículos sobre esto que estoy empezando a frustrarse. Parte de la información:

  1. lo he instalado a una aplicación de plena confianza (En Seguridad -> Habilitar la configuración de seguridad de ClickOnce -> Esta es una aplicación de plena confianza)
  2. estoy usando .NET 4.0 y Visual Studio 2010
  3. habilitar el modo "fuera de línea"

también manejo de los datos que se pasan a través de dominio de aplicación, pero dudo que realmente cambia nada.

Me preguntaba si las asociaciones de archivos solo se configuran en la instalación.

De todos modos, realmente agradecería algo de información sobre este problema. Realmente me gustaría asociaciones de archivos en mi proyecto.

Gracias a todos de antemano.

PS: probado en Windows XP y Windows 7.

Editar: También he publicado esto en Microsoft, por cierto.

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/d610cd55-f3c7-4775-a417-251261832200

Si alguien quiere publicar una respuesta en allí también. Realmente no puedo entender esto. : D

+0

No hay alguna línea de comando para registrar la asociación de archivos. Simplemente vuelva a registrarlo iniciando una pequeña línea de comando al inicio de la aplicación y debería estar listo para comenzar. http://commandwindows.com/assoc.htm – CodingBarfield

+0

Las asociaciones de archivos no parecen estar configuradas solo en la instalación: actualicé una aplicación de prueba que no tenía asociaciones establecidas con nuevas configuraciones para agregar asociaciones de archivos y la aplicación comenzó bien al hacer doble clic el archivo asociado. –

Respuesta

0

ClickOnce no pasa argumentos de línea de comando de la forma habitual, sino a través de

AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData 

Así que en su inicio de la aplicación tendrá que comprobar el tiempo que lleva a cabo ningún tipo de condiciones y modificar su puesta en marcha en el comportamiento en consecuencia.

Esto se debe a que las aplicaciones ClickOnce se inician a través del manifiesto de implementación en el servidor y no a través de un .exe. Por cierto: establecer sus asociaciones de archivos a través de Propiedades -> Publicar -> Opciones -> Asociaciones de archivos debería funcionar bien.

Editar: (cómo creé mi aplicación de muestra)

  • crear ventanas de forma aplicación
  • activar la configuración de ClickOnce-Security, seleccione la aplicación de plena confianza
  • en las opciones de ClickOnce -> descripciones, establecer editor, suite y nombre del producto
  • en las opciones de ClickOnce -> asociaciones de archivos agregar una nueva extensión
  • publicar la aplicación, instalar la aplicación, probar el clima que se inicia al abrir un archivo (lo hace)

Todas las configuraciones no mencionadas no se han tocado ... ¡eso es todo lo que he hecho!

Parece que eso es exactamente lo que hizo, quizás intente crear una aplicación de prueba simple y vea si eso funciona para usted. Como esta respuesta realmente no responde a su pregunta, por favor avíseme cuando termine para poder eliminarla.

+0

No veo cómo esto ayuda. Agradezco la respuesta, pero como indiqué, Propiedades -> Publicar -> Opciones -> Asociaciones de archivos no funciona. También manejo los datos pasados ​​a través del AppDomain, que no deberían (y no) cambiar nada. –

+0

Bueno, creé una aplicación de prueba antes de publicar esto. Solo una aplicación de formularios de Windows, aplicó la configuración de ClickOnce que eligió (fuera de línea, aplicación de confianza y estableció la asociación de archivos a través de las opciones), luego agregó el código anterior. Esto funciona para mi. Sin embargo, tienes razón en que no es necesario obtener la línea de comando, lo mezclé porque también lo necesitaba para mi proyecto anterior. Sin embargo, mi proyecto de prueba simple (como se describe) y sus asociaciones de archivos funcionan. Intentaré de nuevo y crearé un proyecto y te haré saber exactamente lo que hice en un momento. –

+0

Mi aplicación sigue estos pasos, sin embargo, no funciona para mí. Eso es muy extraño, ¿no? –

1

¿Estás seguro de que el punto siguiente no apareció en Abrir con ... opciones de archivo - ClickOnce de despliegue de aplicaciones Biblioteca de compatibilidad con el icono de signo de interrogación? Intenta configurarlo como predeterminado.

Tuve el mismo problema que el tuyo, pero me di cuenta de que esta extraña opción aparece después de instalar mi aplicación. Después de tanto intentarlo y buscar en Google, intenté una cosa simple: acordé hacer de este Clickonce Application Deployment Support Library el valor predeterminado para el tipo de archivo deseado. Y ta da! El icono del archivo se convirtió en el ícono de mi aplicación y lanzó mi aplicación. Supongo que el tipo de archivo deseado ya estaba asociado con el Notepad, por lo que ClickOnce se rehusó a anular esta configuración.

0

Esto sucedió cuando aumentamos el número de versión y publicamos la aplicación en una subcarpeta diferente. Por ejemplo

  • Versión 1.0 se publicó a \\server\product\version 1.0\
  • Versión 2.0 se publicó a \\server\product\version 2.0\

Seguí la respuesta de @EvAlex, y un cuadro de diálogo incitaron y he hecho clic el "Detalles" botón, que abrió un archivo de registro. En el archivo de registro, noté que el programa intentaba descargar desde una ruta de una versión anterior, la ruta que estaba buscando todavía es \\server\product\version 1.0\.

Entonces me di cuenta de que debería ser algo en el registro.

me abrió regedit, e hizo una búsqueda de product (que es mi nombre del producto), y hallaron el camino que el error de registro se quejó bajo algunas teclas como siguientes:

  • HKEY_CURRENT_USER \ Software \ Classes .myext
  • HKEY_CURRENT_USER \ Software \ Classes \ MyProgId
  • HKEY_CLASSES_ROOT \ MyProgId

He eliminado esas llaves, y se repite la acción Open With, el icono está de vuelta y luego trabajó como un encanto.

Parece que la aplicación no se ha desinstalado correctamente o hay un error de ClickOnce actualizando estas teclas por algún motivo desconocido.

4

Si el tipo de archivo que está intentando registrar ha sido previamente registrado con otro programa (como el bloc de notas), o incluso abierto en el bloc de notas, la única manera que he encontrado para hacerlo funcionar es eliminar del registro el tipo de archivo 2 ubicaciones, y luego reiniciar. Después de eso publica una actualización para tu aplicación, y si ese tipo de problema está en buena forma.

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bvr

HKEY_CLASSES_ROOT \ .bvr

Reinicio

publicar una actualización de su aplicación.

+0

¿Qué hay del otro tipo? La respuesta es incompleta! – CinCout

+0

Simplemente eliminé la extensión de archivo en las claves de registro anteriores, desinstalé el programa, reinstalé el programa y funcionó. En mi situación, lo más probable es que otro programa haya sido asociado con la extensión de archivo. – iCode

0

Encontré la publicación de Alan más útil. Funcionó como estaba escrito para mí en una de mis computadoras, pero en otra no me consiguió allí. Esperaba solo agregar un comentario a su publicación, pero Stack Overflow dice que no tengo los puntos de reputación para eso.

Si lo necesita, espero que todavía pueda encontrarlo aquí.

También tuve que quitar una clave como la siguiente para cada asignación de extensión:

HKEY_CLASSES_ROOT\AppName.FileType.0 

La adición de este a la eliminación de las otras teclas .ext de Adán ha solucionado el problema en mi otra máquina.

Cuestiones relacionadas