2009-11-18 6 views
7

Tengo una aplicación de consola que estoy implementando con ClickOnce. Una vez que el usuario instala el programa, se establecen las asociaciones, pero el programa asociado es el instalador (ClickOnce Application Deployment Support Library) y no el programa real. ¿Cómo puedo hacer que la asociación sea el programa real y no el instalador?ClickOnce File Association

He incluido el nodo fileAssociation de la aplicación.manifiesto a continuación. Por favor, avíseme si tiene algún consejo sobre esto. Gracias.

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1" 
       extension=".aav" 
       description="My Program" 
       progid="MyProgram" 
       defaultIcon="myIcon.ico" /> 

Probado en 3 computadoras diferentes que van desde Windows XP, Vista, Windows 7. El nivel de confianza es de plena confianza. La actualización automática está configurada para disparar prelanzamiento.

+0

algo más de información sería bueno: la configuración de actualización automática, Nivel de confianza, probado en otro PC? –

+0

Probado en 3 computadoras diferentes que van desde Windows XP, Vista, Windows 7. El nivel de confianza es total confianza. La actualización automática está configurada para disparar prelanzamiento. – strickland

Respuesta

18

El problema se originó para 1 no necesariamente entender ClickOnce, gracias codeConcussion para la breve descripción.

y 2, que no pasa de ClickOnce cosas a través del formato de argumentos tradicionales, sino a través de la siguiente propiedad: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

+1

Gracias ... ¡Enorme agradecimiento! – IWIH

6

Creo que esto es solo un malentendido de cómo funciona ClickOnce. El principal exe de una aplicación ClickOnce nunca se lanza directamente. Las aplicaciones se inician a través del manifiesto de implementación (archivo .application) en el servidor. Si abre el acceso directo del menú de inicio de su aplicación en un editor de texto, puede ver que apunta al archivo .application, no al .exe local.

Esto permite que toda la magia de actualización suceda. Si su archivo .aav estaba asociado al .exe local, el usuario no obtendría ninguna actualización al abrir la aplicación a través de un archivo .aav.

Usted indicó que "inicia el instalador" cuando hace doble clic en un archivo; ¿tu aplicación comienza después de eso? ¿Podría explicar el resultado final que está esperando?

Cuestiones relacionadas