Windows 10 (Vista, 7 et 8) Fichiers fantômes, fichier supprimé mais toujours présent en cache ?

Saviez-vous que Windows 10 (de Vista à 10) géré des fichiers caches/fantômes de vos applications ?
J’ai une vieille application, créer sous Windows XP qui est capable de se mettre à jour automatiquement (sans passer par un kit de mise à jour). Voulant lui mettre à un jour un de ses jars (pour tester), je le copie par-dessus celui existant. Je la relance et là je m’aperçois qu’elle fonctionne toujours avec l’ancien jar. je réitéré l’opération, rebelote, même chose.
Je décide donc de supprimer le jar pour rendre non fonctionnelle mon application afin de bien vérifier que ce n’est pas une erreur de ma part. Je lance l’application, elle fonctionne toujours !
Mon jar est un fichier fantôme (ou caché par le système ) ?

En me renseignant sur Window 10, j’apprends que les versions de Windows Vista à Windows 10 ont toutes un mécanisme de dossier virtuel pour les applications non initialement développé pour ses nouveaux systèmes : « VirtualStore« .

À partir de Vista, l’ UAC de Windows considère qu’une application n’a pas le droit d’écrire dans son dossier application dans « Programme File » ou « Programme File (x86) ». Et bien sûr il ne signale rien !

Pour désactiver cette fonctionnalité, il faut associer le « dword » 1 à la clé de registre suivante

HKEY_CURRENT_USER\Software\Policies\Microsoft\WindowsStore

Pour rendre l’opération simple et réitérable, créer un fichier TEXT VirtualStore-off.reg (avec notepade++) puis copier le code suivant :

REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\WindowsStore]
"RemoveWindowsStore"=dword:00000001

Sauver le fichier, lancer le en double cliquant dessus, puis rebooter .

Il se peut que votre problème persiste. Les fantômes, ça ne se tue pas comme cela !

Dans ce cas il faut aussi trouvé et supprimer le dossier ou VirtualStore  stocke les fichiers fantôme (cache) de votre application.
Si votre application est dans le dossier « c:\Program Files (x86)\MaSuperApp« , alors son dossier cache se trouve dans le dossier suivant

C:\Users\Piradix\AppData\Local\VirtualStore\Program Files (x86)\MaSuperApp

Noter que :

  • il faut remplacer le nom « Piradix » par votre non d’utilisateur ( de connexion )
  • le dossier « C:\Program Files (x86) » est le dossier système d’installation de votre dossier application
  • le dossier « C:\Program Files (x86)\MaSuperApp est le dossier d’installation de votre application