4 votes

Comment fonctionne l'option InstallAllUsers ?

J'ai une application C#, et un projet de configuration Visual Studio (2010) avec elle. Dans mon projet d'installation, j'utilise InstallAllUsers = True . En outre, mon application doit être lancée au démarrage, c'est pourquoi un raccourci est ajouté à l'icône de l'application. User's Startup Folder .

J'installe donc mon application en tant qu'utilisateur Bob (à partir d'un partage), puis je me déconnecte et me connecte en tant qu'utilisateur Alice. Alice obtient un dialogue qui dit :

La fonction que vous essayez d'utiliser se trouve sur une ressource réseau qui n'est pas disponible.

Il fournit le chemin d'accès au réseau à partir duquel le MSI a été installé. Donc, en gros, il cherche le MSI sur un partage auquel Alice n'a pas accès. Ceci est reproductible à plusieurs reprises si Alice essaie de lancer manuellement le lien Startup. Cependant, Alice peut lancer directement l'exe depuis l'emplacement d'installation, ce qui fonctionne bien.

Je ne comprends pas bien pourquoi il cherche un MSI, mais je suppose que c'est logique qu'une application ne puisse pas être complètement installée par un seul utilisateur. pour un autre utilisateur, donc le MSI est nécessaire pour compléter l'installation.

Mais si c'est le cas, alors je ne comprends pas pourquoi le MSI ne semble être requis que lors du lancement à partir du lien Startup, et non à partir de l'exe directement.

Ma question comporte plusieurs volets :

  1. Est-ce que ce que je vis est un comportement attendu pour le InstallAllUsers option ?
  2. Si c'est le cas, comment puis-je m'assurer que mon application est entièrement installée pour tous les utilisateurs ?
  3. Est-il nécessaire de copier le msi localement, et de s'assurer qu'il ne sera pas supprimé avant que chaque utilisateur ait eu la possibilité de se connecter ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X