Meilleur auteur de réponses
Instaler, lancement automatique et raccourcis...

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.
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
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". -
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.
-
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
________________
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.
-
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
-
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!