J'utilise Visual Studio 2008 pour créer un package d'installation MSI. Au sein de l'installation, j'ai de nombreuses actions personnalisées. Dans l'action personnalisée OnAfterInstall, je tente de démarrer un exe qui est déployé par l'installation. L'exe démarre correctement, mais s'exécute dans un contexte de sécurité de NT AUTHORITY \ SYSTEM (c'est-à-dire sous les privilèges élevés accordés au processus Windows Installer). J'ai en fait besoin de l'exe pour s'exécuter dans le contexte de sécurité de l'utilisateur actuellement connecté qui a démarré l'installation en premier lieu. Est-ce que quelqu'un sait comment démarrer l'exe afin qu'il fonctionne dans ce contexte «réduit». Je veux vraiment éviter d'avoir à demander à l'utilisateur ses informations d'identification si possible.Démarrez exe après l'installation de msi mais en utilisant les privilèges utilisateur actuels
6
A
Répondre
2
Vous devez utiliser l'API Remote Desktop Services: http://msdn.microsoft.com/en-us/library/aa383464%28v=VS.85%29.aspx. Il est disponible à partir de WinXP.
Cette API vous permet d'exécuter votre application dans le contexte de tout compte utilisateur connecté. Vous devez être en cours d'exécution en tant que système pour pouvoir l'utiliser. Et tu es. Par exemple, vous pouvez énumérer des sessions en utilisant WTSEnumerateSessions, puis prendre le jeton d'utilisateur par WTSQueryUserToken et exécuter l'application en utilisant ce jeton.
Questions connexes
- 1. Privilèges utilisateur ASP.NET
- 2. Apparence MSI indésirable après l'installation
- 3. Élévation de privilèges sur MSI désinstallation avec Installshield et boîte de dialogue utilisateur
- 4. Localisation en utilisant le fichier msi
- 5. Acquisition des privilèges d'accès d'un utilisateur actif
- 6. Remplacer les chaînes en .exe natif en utilisant C#
- 7. Comment conserver les raccourcis d'application actuels/synchronisés?
- 8. WiX - Créer MSI en utilisant msbuild
- 9. créer exe en utilisant launc4j java
- 10. Privilèges de suppression en C++ sur Windows
- 11. Grails comment changer les paramètres régionaux actuels
- 12. Lancement d'un service à partir de l'installateur msi qui dépend des assemblages installés par le msi
- 13. Arrêt de MSI du lancement d'un fichier EXE dans le contexte SYSTEM
- 14. Augmenter par programme les privilèges de l'utilisateur
- 15. Comment formater un entier en utilisant les paramètres régionaux actuels dans Delphi
- 16. DeleteFile d'un EXE immédiatement après Process.WaitForExit échoue
- 17. en utilisant des classes dans un COM exe de .Net
- 18. En utilisant getchar() après read()
- 19. Comment puis-je obtenir les groupes d'utilisateurs actuels?
- 20. Comment puis-je supprimer des privilèges en Perl?
- 21. Comment définir tous les privilèges des utilisateurs sur un chemin en utilisant asp.net C#?
- 22. Enregistrer les privilèges de l'utilisateur - la manière intelligente
- 23. Jailbreaké iPhone - privilèges root
- 24. .NET - Privilèges d'application inférieurs
- 25. Installer une chaîne de packages MSI incorporés utilisant chacun une barre de progression commune de l'interface utilisateur incorporée
- 26. Privilèges Sharepoint
- 27. Récupérer les niveaux de mixage actuels avec WMI?
- 28. Détecter les privilèges de débogage sur un processus (Windows, C)
- 29. en utilisant jQuery après quelqu'un d'autre
- 30. EXE reste dans le Gestionnaire des tâches après avoir quitté