Archive

Posts Tagged ‘.net’

Lancer son application au démarrage de Windows sans bidouiller avec la base de registre

Dans ce billet je vais vous présenter deux méthodes permettant de configurer son application .Net pour qu’elle soit lancée au démarrage de Windows. Ces deux méthodes nous évitent de toucher à la base de registre et ainsi nous n’allons pas oublier de nettoyer cette base s’il arrivait que l’utilisateur désinstalle notre application.

La première méthode :
Dans le projet d’installation (projet de déploiement avec Windows Installer) suivre les étapes suivantes :

  1. Dans le File System (Système de fichiers) du projet on ajoute un dossier spécial appelé User’s Startup
  2. Folder (Dossier de démarrage de l’utilisateur)
  3. On crée un raccourci de la sortie de projet qui se trouve dans le dossier Application Folder (Dossier de l’application).
  4. On renomme ce raccourci pour lui donner un nom plus explicite.
  5. On coupe (CRTL+X) le raccourci qu’on vient de créer et on le colle (CRTL+V) dans le dossier User’s Startup Folder

Deuxième méthode :
Cette solution consiste à rendre configurable le démarrage automatique à partir du code de l’application. Pour cela j’ai créé deux fonctions : une pour l’activation et l’autre pour la désactivation.
N.B. : Pour que le code fonctionne, il faudra ajouter la référence à l’assembly COM Windows Script Host Object Model dans votre projet.
La fonction d’activation est la suivante :

// Cette méthode vérifie l'existence du raccourci
// Si le raccourci est déjà présent alors on ne fait rien
public void EnbaleApplicationStartup()
{
	string shortcutPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), "MonRaccourci.lnk");
	if (System.IO.File.Exists(shortcutPath)) return;
 
	WshShell wshShell = new WshShellClass();
 
	IWshShortcut shortcut = (IWshShortcut)wshShell.CreateShortcut(shortcutPath);
 
	shortcut.TargetPath = Assembly.GetEntryAssembly().Location;
 
	shortcut.Description = "Mon premier raccourci";
 
	shortcut.Save();
}

La fonction de désactivation :

public void DisableApplicationStartup()
{
	string shortcutPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), "MonRaccourci.lnk");
	if (!System.IO.File.Exists(shortcutPath)) return;
 
	System.IO.File.Delete(shortcutPath);
}
Catégories :WPF Étiquettes :

Installer votre application sans chercher les dépendances sur Internet

Lorsqu’on crée un projet d’installation (Setup) avec Windows Installer pour une application .Net, notre application aura besoin d’un ou plusieurs outils prérequis sur la machine cible. Ces outils sont indispensables pour que l’application puisse être installée ou pour qu’elle fonctionne correctement.

Parmi ces outils indispensables nous avons au minimum le SDK du Framework .NET qui est détecté et ajouté automatiquement lors de l’ajout d’une sortie de projet type .Net dans le projet d’installation.

Si nous regardons les propriétés définies pour cette dépendance (double-cliquez sur la dépendance pour afficher ses propriétés) nous pouvons voir que la propriété InstallUrl est configurée pour aller télécharger le SDK via une adresse URL définie.

Donc si la machine cible ne dispose pas d’internet alors impossible d’obtenir le prérequis et par conséquent l’installation ne pourra pas se poursuivre.

Deux solutions sont disponibles permettant d’éviter l’échec de l’installation du au fait qu’une ou plusieurs dépendances sont manquantes.

La première solution consiste à télécharger soi-même le SDK du Framework .Net sur une machine disposant d’internet et l’installer au final sur la machine cible. Cette solution peut devenir lassante si le nombre de machines cibles est conséquent.

La deuxième solution qui est la plus reposante, même si nous avons plusieurs machines cibles ne disposant pas d’internet, consiste juste à suivre les étapes ci-dessous :

  1. On télécharge la version du SDK du framework .net requise pour l’application
  2. On mettra ce fichier à la racine de notre setup (à la racine du dossier qui contient le msi et le setup.exe)
  3. Dans les proprietés de la dépendance du SDK, on modifie la propriété InstallUrl et on met le chemin relatif par rapport à notre Setup.

Avec cette deuxième solution, la connexion à Internet n’est pas requise pour télécharger le SDK. De plus l’installation manuelle du prérequis se fera automatiquement à partir du chemin relatif que nous avons spécifié.

Catégories :WPF Étiquettes :
%d blogueurs aiment cette page :