web-dev-qa-db-fra.com

Comment faire pour que le programme d'installation WiX demande des privilèges d'administrateur?

Nous avons un programme que nous avons développé en interne. Nous effectuons une mise à niveau pour utiliser Visual Studio 2012 et devons donc laisser le projet d'installation Visual Studio derrière. InstallShield LE nous posait des problèmes de raccourcis si l'application était déjà installée. Cela m'a laissé avec finalement aller avec WiX. 

Je fais des recherches à ce sujet depuis quelques jours et j'ai lu plusieurs articles sur la façon d’obtenir les droits d’administrateur, mais aucun ne semble fonctionner. L'élément Package a InstallPrivileges = "1" et l'élément Property suivant est présent:

<Property Id="MSIUSEREALADMINDETECTION" Value="1" />

Il ne demandera pas de privilèges d'administrateur au démarrage et échouera dès lors qu'il tente de créer le dossier du programme dans C:\Program Files(x86).

18
Opus Krokus

Réponse sur Comment obtenir que le programme d'installation de WiX demande des privilèges d'administrateur

Solution trouvée par Opus Krokus dans commentaire .

Réponse

J'ai ajouté ce qui suit (à l'élément Package) et je ne suis pas sûr de ce (ou quelle combinaison) m'a donné ce dont j'ai besoin, mais cela fonctionne maintenant: InstallPrivileges = "elevated" AdminImage = "yes" InstallScope = "perMachine"

25
Atrotygma

Regardez la réponse à cette question de débordement de pile

Voici l'essence de la réponse:

<Property Id="MSIUSEREALADMINDETECTION" Value="1" />

La solution suggérée par l'Opus Krokus n'a pas fonctionné pour moi.

1
Andreas

C'est ce qui a fonctionné pour moi, pour mon MSI créé pour l'installation sur Windows 7 (et versions ultérieures):

  <!-- Set per-machine installation as default.
  See See http://msdn.Microsoft.com/en-us/library/dd408007.aspx for an explanation of ALLUSERS=2 and MSIINSTALLPERUSER="".
  -->
  <Property Id="ALLUSERS" Value="2" />
  <!-- Needs to be empty value (and empty value must be commented out to get rid of error message when compiling):
  <Property Id="MSIINSTALLPERUSER" Value="" /> 
  -->

Comme indiqué dans le commentaire XML ci-dessus, voir http://msdn.Microsoft.com/en-us/library/dd408007.aspx pour plus de détails.

0
Eirik W