[WinDev] Handle is in an invalid state (1609)

Depuis peu, pas mal d’utilisateurs de WinDev, dont moi-même, se sont vus contraints d’arrêter de développer pendant un petit moment. Quelle en était la raison ? Un bug lié à la clé Sentinel HASP / SafeKey. Aléatoirement, le programme affiche « Handle is in an invalid state (1609) – ID : 800106AC – EID : 170B » (l’ID affiché peut être différent).

Mise à jour du 25/01 : PC SOFT fournit des correctifs pour chacune des dernières versions de WinDev. Ils sont disponibles via la FAQ. Merci au support technique de l’avoir signalé. Il n’est normalement plus nécessaire d’appliquer la procédure détaillée ci-dessous.

Mise à jour du 5 mai 2013 : Attention, pour la version 17, un correctif a été ajouté le 15 mars, mais le lien dans la FAQ ne pointe pas sur le bon fichier. Voici le lien corrigé : WX170PACKSQ078np.exe.

Ce problème est en fait dû à une mise à jour via Windows Update : la solution est alors de désinstaller complètement le pilote puis de le réinstaller à partir du DVD d’installation fourni par PC SOFT. La marche à suivre qui suit n’a pas fonctionné comme il le faut, même si pour certains cela devrait se dérouler sans embuche. C’est pourquoi j’apporterai un complément d’information afin de désinstaller entièrement tout ce qui est lié à la clé HASP.

En cherchant l’erreur via Google, on tombe sur les forums de PC SOFT qui ramènent vers la FAQ.

Voici des détails supplémentaires:

  • Se rendre dans les options « Système » (via le panneau de configuration ou en effectuant un clic droit – « Propriétés » sur l’icône « poste de travail » / « ordinateur » – elle se trouve soit sur votre bureau, soit il existe une entrée dans le menu Démarrer).
  • Dans l’onglet « Paramètres systèmes avancés » (sous Windows 7, il faut cliquer sur cette option dans la fenêtre qui s’ouvre), se rendre dans l’option « Variables d’environnement« .
  • Dans la nouvelle fenêtre, créer une nouvelle variable utilisateur (« Nouvelle…« ).
    • Nom de la variable : devmgr_show_nonpresent_devices
    • Valeur de la variable : 1
  • Valider par OK et fermer les options du système.
  • Se rendre dans la gestion d’ordinateurs. Vous pouvez vous y rendre en effectuant un clic droit sur l’icône du « Poste de travail » (Ordinateur) puis en choisissant l’option « Gérer« . Rendez-vous ensuite dans « Gestionnaire de périphériques« . Autre solution : Menu Démarrer, Exécuter, taper « devmgmt.msc » et valider par OK.
  • Dans la fenêtre qui s’ouvre, menu « Affichage » et cocher « Afficher les périphériques cachés ».
  • Dans la branche « Contrôleurs USB », désinstaller les pilotes liés à Sentinel HASP (clic droit – désinstaller). Cocher la case « désinstaller le pilote du périphérique ».
  • Débrancher la clé et redémarrer l’ordinateur.
  • Insérer le DVD de WinDev dans le lecteur de votre ordinateur.
  • Exécuter la ligne de commande suivante par le menu « Démarrer … Exécuter » de Windows :
"LETTRE_LECTEUR:\Hasphaspdinst.exe" -fr
  • Valider le message « Operation successfully completed« . Remarque : sur le DVD de la version 17, le chemin complet est « LETTRE_LECTEUR:\Support\Hasphaspdinst.exe ».
  • Exécuter la ligne de commande suivante par le menu « Démarrer … Exécuter » de Windows :
"LETTRE_LECTEUR:\Hasphaspdinst.exe" -i
  • Même remarque que ci-dessus pour le chemin complet. Valider le message qui s’affiche à l’écran.

Il est possible que cette dernière étape ne fonctionne pas (message « Installation omitted. Newer version already installed »)…Voici donc un complément d’information qui est fourni par le site Pulsonix, qui m’a permis de valider la dernière étape ci-dessus avec succès.

  • Dans le panneau de configuration, « Ajout/suppression de programmes » (programmes et fonctionnalités, sur Windows 7), désinstaller tous les composants Sentinel HASP.
  • Dans les services (via menu Démarrer, Exécuter, « services.msc »), repérer les services Sentinel / HASP / HLServer. Les désactiver, repérer leur nom réel – que l’on trouve dans la fenêtre de propriétés du service – puis les supprimer via la commande « sc delete« . Cette commande s’exécute via l’invite de commandes Windows « cmd« .
  • Supprimer les fichiers « aks*.* », « hardlock.sys », et « haspnt.sys » du dossier C:\Windows\System32\drivers.
  • Dans le gestionnaire de périphériques encore, afficher les périphériques cachés puis se rendre dans la branche « périphériques non Plug-and-Play ». Désinstaller « Hardlock », « Haspnt », et « HASP Fridge ».
  • Lancer, depuis le DVD, la commande
"LETTRE_LECTEUR:\Hasphaspdinst.exe" -r -purge
  • Valider le message qui indique que l’opération a été correctement effectuée.
  • Nettoyer la base de registre avec un logiciel comme CCleaner (facultatif).
  • Redémarrer l’ordinateur.
  • Réessayer la dernière étape de la FAQ de PC SOFT (voir ci-dessus).
  • L’installation du pilote devrait se faire normalement.
  • Brancher la clé HASP et attendre la fin d’installation du pilote.

Sources

4 commentaires sur « [WinDev] Handle is in an invalid state (1609) »

  1. Un correctif de PCSOFT est déjà à disposition. Il suffit de suivre le lien de la FAQ qui a été modifiée en parallèle.

  2. Joel Salut à tous j'ai suivi toutes ces méthodes mais après quelque minute le même message "handle is in an invalid state (1609) id:800506AC EID:170B apparait et windev se ferme seul. Merci
    Joel

  3. Appliquez le correctif adéquat disponible sur la FAQ PC SOFT (lien tout en haut du post) puis essayez de mettre à jour les pilotes SafeKey HASP à partir de Microsoft Update ; ils y sont régulièrement à jour.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *