Question

Lors de la création d’une installation / MSI avec Visual Studio, est-il possible d’effectuer l’installation d’une application simple ne nécessitant pas d’autorisation administrateur pour l’installer? Si ce n’est pas possible sous Windows XP, est-il possible sous Vista?

Par exemple, une simple application de manipulation d’images vous permettant de coller des photos sur des arrière-plans. Je pense que l'installation dans le dossier Program Files nécessite des autorisations d'administrateur? Peut-on installer à la place dans le dossier \ AppData?

L'objectif est de créer une application à installer pour les utilisateurs qui ne sont pas membres du groupe d'administrateurs sur l'ordinateur local et qui n'affichera pas l'invite du contrôle de compte d'utilisateur sur Vista.

Je pense qu'une limitation de cette méthode serait que s'il est installé sous le dossier de données de l'application pour l'utilisateur actuel, d'autres utilisateurs ne pourraient pas l'exécuter.

Mise à jour:

Pouvez-vous regrouper un clic une fois l’installation dans un programme d’installation de type setup.exe normal? Vous pouvez vous demander pourquoi nous voulons cela - la raison en est que nous avons un programme d'installation qui vérifie les conditions préalables et installe tout ce qui est requis (tel que .NET), puis nous téléchargeons et exécutons le MSI. Nous aimerions également afficher un écran de démarrage d'installation normal, même si c'est la seule chose affichée. Cela ne nous dérange pas que l'application ne puisse être vue que par un seul utilisateur (l'utilisateur pour lequel elle est installée).

Était-ce utile?

La solution

ClickOnce est une bonne solution à ce problème. Si vous allez dans Propriétés du projet > Publier, vous pouvez configurer les paramètres pour cela. En particulier, "Mode et paramètres d’installation". C'est bon à regarder:

  • L'application est uniquement disponible en ligne. Il s'agit en réalité d'un "exécuter une fois". application
  • L’application est également disponible hors connexion (peut être lancée à partir du menu Démarrer) - elle est installée sur le PC

Vous n'êtes pas obligé d'utiliser le logiciel de déploiement Web ClickOnce. Si vous faites un build > Publiez, puis compressez le contenu du dossier publish \, vous pouvez le distribuer efficacement en tant qu’installateur. Pour le rendre encore plus fluide, créez une archive à extraction automatique à partir du dossier qui exécute automatiquement le fichier setup.exe.

Même si vous installez de cette manière, si vous choisissez de l'utiliser, la mise à jour en ligne fonctionnera toujours pour l'application. Il suffit de mettre les fichiers ClickOnce en ligne et de placer l'URL dans la page de propriétés de publication du projet.

Autres conseils

Vista est plus restrictif à propos de ce genre de chose, donc si vous ne pouvez pas le faire pour XP, vous pouvez parier que Vista ne vous le permettra pas non plus.

Vous avez raison de dire que l'installation dans le dossier des fichiers du programme à l'aide du programme d'installation Windows nécessite des autorisations administratives. En fait, tous les accès en écriture à ce dossier nécessitent des autorisations d'administrateur. C'est pourquoi vous ne devriez plus stocker vos données dans le même dossier que votre exécutable.

Heureusement, si vous utilisez .Net, vous pouvez utiliser le déploiement ClickOnce au lieu d'un msi, ce qui devrait vous permettre de l'installer dans un dossier du profil de chaque utilisateur sans nécessiter d'autorisations d'administrateur.

Le seul moyen que je connaisse pour ce faire est de créer une application ClickOnce dans .NET 2.0 +

Si l'utilisateur de votre application a les pré-requêtes correctes installées, l'application peut simplement être "lancée".

Départ:

Si le contrôle de compte d'utilisateur est activé, vous ne pouvez pas écrire dans Program Files. L’installation sur \ AppData n’installe effectivement le programme que pour un utilisateur.

Cependant, vous devez noter que toute modification de la configuration nécessitant des modifications du registre est probablement (je devais vérifier à ce sujet) le privilège d’administrateur. Les modifications apportées à l’arrière-plan du bureau sont finalement stockées dans HKEY_CURRENT_USER.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top