none
Drag and drop sur un raccourcis ClickOnce RRS feed

  • Question

  • Je déploie mon appli WinForm sous Framework 4.0 avec ClickOnce, et avec l'option "création d'un raccourcis sur le bureau". Celui-ci est bien créé mais visiblement il n'accepte pas le Drag and Drop de fichiers (récupération des paramètres dans l’évènement StartUp de l'appli)... Je ne sais d'ailleurs pas si l'appli reçoit cet évènement lorsqu'elle est déployée.

    Y a-t-il une autre méthode pour exécuter l'appli par Drag and Drop sur son raccourcis ClickOnce ?

    Merci.

     


    Alain
    mardi 11 janvier 2011 21:47

Réponses

  • > Je déploie mon appli WinForm sous Framework 4.0 avec ClickOnce, et avec
    > l'option "création d'un raccourcis sur le bureau". Celui-ci est bien créé
    > mais visiblement il n'accepte pas le Drag and Drop de fichiers
    > (récupération des paramètres dans l’évènement StartUp de l'appli)
     
    Je ne sais pas si le problème est spécifique au Framework 4.0 mais avec
    le 2.0, il faut préciser avant le déploiement que l'application accepte
    des paramètres d'url et les récupérer avec
    ApplicationDeployment.CurrentDeployment.ActivationUri.Query
    et la décomposer avec HttpUtility.ParseQueryString
     --
    Fred
    foleide@free.fr
     
    • Marqué comme réponse AchLog mercredi 12 janvier 2011 08:55
    mercredi 12 janvier 2011 06:20
  • > J'ai encore un petit problème avec *HttpUtility* : je ne trouve pas
    > l'assembly System.Web.dll, seulement System.Web.Services et
    > System.Web.ApplicationServices mais
    >
    > pas de HttpUtility connu làdedans !
    >
    > Une piste ?
     
    Je ne suis pas passé au Framework 4, mais il me semble qu'un projet peut
    ne cibler qu'un sous-ensemble du framework (Client Profile).
    Est-ce le cas ? et on pourrait alors supposer que System.Web.dll n'en
    fait pas partie (?).
     --
    Fred
    foleide@free.fr
     
    • Marqué comme réponse AchLog vendredi 14 janvier 2011 10:58
    vendredi 14 janvier 2011 07:37

Toutes les réponses

  • > Je déploie mon appli WinForm sous Framework 4.0 avec ClickOnce, et avec
    > l'option "création d'un raccourcis sur le bureau". Celui-ci est bien créé
    > mais visiblement il n'accepte pas le Drag and Drop de fichiers
    > (récupération des paramètres dans l’évènement StartUp de l'appli)
     
    Je ne sais pas si le problème est spécifique au Framework 4.0 mais avec
    le 2.0, il faut préciser avant le déploiement que l'application accepte
    des paramètres d'url et les récupérer avec
    ApplicationDeployment.CurrentDeployment.ActivationUri.Query
    et la décomposer avec HttpUtility.ParseQueryString
     --
    Fred
    foleide@free.fr
     
    • Marqué comme réponse AchLog mercredi 12 janvier 2011 08:55
    mercredi 12 janvier 2011 06:20
  • Bonjour Foleide et merci pour cette information.

    Je n’avais pas essayé avec 2.0 avant de passer en 4.0 donc je ne peux pas dire non plus si le fonctionnement est spécifique à 4.0. Compte tenu de la méthode que vous exposez, je ne le crois pas.

    J'avais mis en place une méthode qui fonctionne sur une application NON déployée (récupération des paramètres au StartUp de l'appli).

    Bien cordialement.

     

     


    Alain
    mercredi 12 janvier 2011 08:55
  • > J'avais mis en place une méthode qui fonctionne sur une application NON
    > déployée (récupération des paramètres au StartUp de l'appli).
     Oui, d'ailleurs cela reste valide pour tester lors du développement (en
    spécifiant des paramètres de ligne de commande dans les propriétés du
    projet).
    C'est pourquoi dans mon Startup, je garde les deux possibilités et je
    teste la propriété
    System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
     
    --
    Fred
    foleide@free.fr
     
    mercredi 12 janvier 2011 09:21
  • Ok.

    C'est bien dans le StartUp que vous utilisez ApplicationDeployment.CurrentDeployment.ActivationUri.Query pour récupérer les paramètres, n'est-ce pas ?



    Alain
    mercredi 12 janvier 2011 09:26
  • > C'est bien dans le *StartUp* que vous utilisez
    > ApplicationDeployment.CurrentDeployment.ActivationUri.Query pour récupérer
    > les paramètres, n'est-ce pas ?
     
    Oui.
     --
    Fred
    foleide@free.fr
     
    mercredi 12 janvier 2011 12:12
  • Une dernière (?) question sur ce sujet, Foleide :

    Comment debugger le code qui s'exécute lors du déploiement ?

    Je crois que VS comporte un serveur IIS. Peut-on l'utiliser dans ce cas et comment faire ?

    Merci de votre aide.

    Bone journée.

     


    Alain
    jeudi 13 janvier 2011 09:09
  •  
    > Une dernière (?) question sur ce sujet, Foleide :
    >
    > Comment debugger le code qui s'exécute lors du déploiement ?
     
    Je ne l'ai pas fait, mon code étant très simple.
    Cependant, il existe cette méthode que je n'ai pas testée (lien vers la
    version 2010)
     --
    Fred
    foleide@free.fr
     
    jeudi 13 janvier 2011 10:07
  • J'ai encore un petit problème avec HttpUtility : je ne trouve pas l'assembly System.Web.dll, seulement System.Web.Services et System.Web.ApplicationServices mais

    pas de HttpUtility connu làdedans !

    Une piste ?

    Merci.

     

     


    Alain
    jeudi 13 janvier 2011 21:44
  • > J'ai encore un petit problème avec *HttpUtility* : je ne trouve pas
    > l'assembly System.Web.dll, seulement System.Web.Services et
    > System.Web.ApplicationServices mais
    >
    > pas de HttpUtility connu làdedans !
    >
    > Une piste ?
     
    Je ne suis pas passé au Framework 4, mais il me semble qu'un projet peut
    ne cibler qu'un sous-ensemble du framework (Client Profile).
    Est-ce le cas ? et on pourrait alors supposer que System.Web.dll n'en
    fait pas partie (?).
     --
    Fred
    foleide@free.fr
     
    • Marqué comme réponse AchLog vendredi 14 janvier 2011 10:58
    vendredi 14 janvier 2011 07:37
  • EXACTEMENT !

    Merci beaucoup Foleide. Je n'y avais pas pensé...

     


    Alain
    vendredi 14 janvier 2011 10:58
  • J'ai programmé ceci. Cela fonctionne bien lorsque l'appli est n'est pas déployée sur le réseau mais pas du tout lorsqu'elle l'est !

      Partial Friend Class MyApplication
    
        Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
    
          My.Settings.StartFiles = New Collections.Specialized.StringCollection
    
          If (ApplicationDeployment.IsNetworkDeployed) Then
            Dim NameValueTable As New NameValueCollection()
            Dim QueryString As String = ApplicationDeployment.CurrentDeployment.ActivationUri.Query
            NameValueTable = HttpUtility.ParseQueryString(QueryString)
    
            ' Mémoriser les fichiers dragués
            For Each s As String In NameValueTable.AllKeys
              My.Settings.StartFiles.Add(NameValueTable(s))
            Next
          Else
            ' Application NON déployée : Mémoriser les fichiers dragués
            For Each f As String In e.CommandLine
              My.Settings.StartFiles.Add(f)
            Next
          End If
    
        End Sub
      End Class
    
    


    Alain
    vendredi 14 janvier 2011 16:44