2017-09-28 5 views
0

J'ai créé un fichier MSI dans Visual Studio. Lors de l'exécution du MSI, il s'exécute comme "DOMAIN\SYSTEM", j'essaye d'exécuter ce MSI en utilisant l'utilisateur actuellement connecté.MSI s'exécute en tant que DOMAIN SYSTEM

Est-ce possible?

+0

... mais qu'essayez-vous vraiment d'accomplir? (Ce qui vous donne envie de l'exécuter en tant qu'utilisateur actuel, ou peut-être la chose qui vous donne envie de le faire.) –

+0

Ce que je fais est d'exécuter l'exe après l'installation, mais quand le EXE s'exécute il fonctionne comme SYSTEM, au lieu de l'utilisateur actuel. – John

Répondre

1

Un fichier MSI est traité par msiexec.exe. Ce fichier EXE s'exécute dans deux contextes: client et serveur.

Le côté client s'exécute en tant que PID dans le contexte de qui l'a jamais appelé. Cela couvre l'interface d'installation (tout ce qui est répertorié dans la table InstalUISequence).

Le côté serveur s'exécute en tant que service Windows Installer dans le contexte SYSTEM. Cela couvre les choses qui se passent pendant que la barre de progression est affichée (Tout ce qui est listé dans la table InstallExecuteSequence). Les actions planifiées pour une exécution immédiate ou différée avec emprunt d'identité s'exécuteront dans le contexte de l'utilisateur qui a démarré msiexec.exe en premier lieu. Les actions personnalisées différées planifiées sans emprunt d'identité s'exécuteront dans le contexte SYSTEM du service Windows hôte exécutant msiexec.exe. Si vous utilisez un outil tel que Systems Center Configuration Manager, il est très probable (en fonction de la manière dont vous avez configuré le déploiement) que le compte SYSTEM ait appelé l'installation. Par conséquent, tout fonctionnera en tant que SYSTEM.

La seule façon pour l'ensemble du MSI de s'exécuter dans le contexte de l'utilisateur serait d'installer Windows 95/98/ME. :)