none
Instaler, lancement automatique et raccourcis... RRS feed

  • Question

  • Bonjour,

    J'ai développé une application WPF qui après l'acquisition de données via webservices, me crée un raccourci sur le bureau (via un objet WshShell) vers une une application web et donc une url personnalisée.

     

    Tout marche fort bien, cependant, l'application étant en 4.0 j'ai voulu l'encapsuler dans un instaler qui checkera la version du framework de l'utilisateur.

     

    C'est là que ça se corse, j'ai ajouté un InstallerClass à mon application pour qu'à la fin de l'installation l'application se lance toute seule.

    J'ai donc une fonction de ce type dans mon InstalerClass :

    public override void Commit(IDictionary savedState)
    {
    base.Commit(savedState);
    Process.Start(@savedState["TargetDir"].ToString() + System.IO.Path.DirectorySeparatorChar + @"MonApplication.exe");
    }
    

     

    A la fin de l'installation, l'application se lance bien, elle marche bien (la communication avec les webservices marchent), mais le raccourci bureau (créé via l'objet WshShell).

    Alors que si je lance à la main (en double cliquant sur l'exe intallé), là le raccourci se crée bien.

    J'ai essayé de faire une appli basique qui fait juste un

    Process.Start("MonApplication.exe");
    

    Et là encore ça marche...

     

    Auriez vous une idée à propos de ce raccourci qui ne se crée pas uniquement que quand l'application est lancée depuis l'instaler?

     

    Merci beaucoup.

    lundi 22 novembre 2010 13:41

Réponses

  • Ce chemin me parait bizarre. Comment ce chemin est-il récupéré ? De quel version de Windows s'agit il ?

    La plupart des softs s'installent "pour l'utilisateur en cours" ou "pour tout les utilisateurs" mais pas pour l'utilisateur qui a lancé l'installation via un "run as".

    Donc si c'est possible, je pense qu'il pourrait être préférable de garder cette ligne de conduite et d'installer le raccourci sur le bureau "All users"...

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse Soann jeudi 25 novembre 2010 10:51
    mercredi 24 novembre 2010 12:17
    Modérateur

Toutes les réponses

  • Bonjour,

    Cela donne quoi si on affiche l'emplacement où est créé le raccourci ? Par exemple si l'installation est lancée via un "exécuter en tant qu'administrateur", il se pourrait bien que le raccourci soit créer sur le bureau de l'administrateur.

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    lundi 22 novembre 2010 18:19
    Modérateur
  • Merci Patrice!

    Je n'y avais effectivement pas pensé...

    Le raccourci se crée dans le repertoire suivant : C:\WINDOWS\system32\config\systemprofile\Desktop

     

    Est-ce que j'ai un moyen de trouver le path du desktop de l'utilisateur ayant executé l'instaler pour le transmettre à l'application qui est lancée par le user system.

    Ou plus simple encore, est-ce que j'ai un moyen depuis l'InstalerClass de lancer l'application depuis le user courant, en sachant que je n'ai bien entendu pas son password.

     

    Merci beaucoup.

    mardi 23 novembre 2010 09:07
  • Bonjour M. Scribe,

     

    Est-il possible de vous contacter en privé ? Si vous êtes d’accord, voici mon adresse d’email : alexptr@live.com

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    mardi 23 novembre 2010 13:48
  • Ce chemin me parait bizarre. Comment ce chemin est-il récupéré ? De quel version de Windows s'agit il ?

    La plupart des softs s'installent "pour l'utilisateur en cours" ou "pour tout les utilisateurs" mais pas pour l'utilisateur qui a lancé l'installation via un "run as".

    Donc si c'est possible, je pense qu'il pourrait être préférable de garder cette ligne de conduite et d'installer le raccourci sur le bureau "All users"...

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse Soann jeudi 25 novembre 2010 10:51
    mercredi 24 novembre 2010 12:17
    Modérateur
  • Le chemin était bel et bien le suivant : C:\WINDOWS\system32\config\systemprofile\Desktop en utilisant en path "Environment.GetFolderPath(Environment.SpecialFolder.Desktop)", mais uniquement lorsque l'appli était lancée par le commit de l'installer, sinon le raccourci se créait bien sur le Desktop de l'utilisateur courant.

    Le soft est exécuté sous Windows XP.

     

    J'ai mis changé le path par "objShell.SpecialFolders.Item("AllUsersDesktop") " pour créer un raccourci sur le bureau de tous les utilisateurs et donc tout fonctionne correctement.

     

    Merci encore pour vos conseils avisés!

    jeudi 25 novembre 2010 10:51