
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