Pourquoi certains installateurs doivent-ils redémarrer l’ordinateur avant d’exécuter le programme?

Je suis relativement nouveau dans le déploiement d’applications bureautiques. C’est la première fois que je crée un programme d’installation pour mes logiciels. Actuellement, la première fois que je lance mon logiciel après l’avoir installé, il se bloque. Après ça, ça va bien. Je suis toujours en train de déboguer ce problème, mais j’ai remarqué qu’un redémarrage immédiatement après l’installation et avant l’exécution du logiciel semble résoudre ce problème.

Quelles sont les raisons courantes pour lesquelles certains installateurs vous demandent de redémarrer avant d’exécuter le logiciel?

En outre, pourquoi certains installateurs doivent-ils redémarrer avant de terminer l’installation?

Merci d’avance!

En règle générale, les redémarrages entre l’installation et l’exécution sont dus au remplacement des DLL système verrouillées. Le programme d’installation configure une entrée de registre unique qui copie les DLL lors du démarrage avant qu’elles ne soient verrouillées par Windows, puis votre application peut utiliser la nouvelle DLL que vous avez définie.

En général, cela est fortement déconseillé. Il ne devrait plus y avoir de raison pour quiconque autre que Windows lui-même ait besoin de redémarrer après l’installation.

Je suggère de revenir dans un débogueur pour trouver plus de détails sur les raisons pour lesquelles votre application plante. J’espère que vous avez suffisamment de trace disponible dans votre code pour autoriser ce type de débogage.

En général, un redémarrage est requirejs uniquement si le programme d’installation doit remplacer des fichiers actuellement utilisés (et verrouillés) par le système d’exploitation. Parfois, les installateurs commettent des erreurs du côté du redémarrage juste-en-cas, mais cela est plus rare que par le passé.

Nous avons un cas avec un installateur que je maintiens où nous devons forcer le redémarrage de vista uniquement en raison de l’UAC et de l’élévation des privilèges. Une fois la configuration terminée, nous devons déclencher un programme en tant que contexte utilisateur actuel et non dans le contexte Vista élevé.

Dans votre cas, je soupçonne que certains fichiers n’ont pas été correctement enregistrés et que vous devez simplement vous en tenir au débogage;)