J'ai un MSI basé sur WiX qui installe un service et quelques raccourcis (et beaucoup d'autres fichiers qui ne le font pas).L'installateur MSI démarre la réparation automatique au démarrage du service
Le raccourci est créé comme décrit dans WiX docs avec une clé de registre sous HKCU comme fichier de clé. Ceci est une installation de tous les utilisateurs, mais pour passer ICE38, cette clé de registre doit être sous l'utilisateur actuel. Lorsque le service démarre (il s'exécute sous le compte SYSTEM), il remarque que cette clé de registre n'est pas valide (au moins pour cet utilisateur) et exécute à nouveau l'installation pour "réparer".
Dans le journal des événements, j'obtiens MsiInstaller Events 1001 et 1004 indiquant que "La ressource" HKEY_CURRENT_USER \ SOFTWARE \ MyInstaller \ Foo "n'existe pas." Ce n'est pas surprenant puisque l'utilisateur SYSTEM n'a pas cette clé. J'ai activé la journalisation MSI à l'échelle du système et l'auto-réparation a créé son fichier journal dans le dossier C: \ Windows \ Temp plutôt que le dossier TEMP d'un utilisateur spécifique qui semble impliquer que l'utilisateur actuel était SYSTEM (plus le fichier journal montre le "processus d'appel" pour être mon service).
Y at-il quelque chose que je peux faire pour désactiver la fonctionnalité de réparation automatique? Est-ce que je fais quelque chose de mal ou de casser une règle MSI? Des indices sur où regarder ensuite?
Pouvez-vous pas ajouter le raccourci vers le menu de démarrage de la Alluser dans le système de fichiers à la place? –