aboulouafa_said
Messages postés4Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention17 juillet 2007
-
28 juin 2007 à 10:03
aboulouafa_said
Messages postés4Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention17 juillet 2007
-
17 juil. 2007 à 09:48
Bonjour à tous,
voila mon problème , j'ai une application com+ qui fait appel à une dll développer en vb.net, et j'ai un autre script .bat qui a pour rôle la mise à jour de cette dll mais le problème que parfois il m'empèche de la mettre à jour il m'affiche >>> violation de partage.
voila le code de mon script .bat :
-----------------------------------------------------------------
xcopy /Y/R D:\notrefamille\v2\includes\composants\themes2005.dll D:\notrefamille\v2\includes\composants\Themes2005\themes2005.dll
...
pause
-----------------------------------------------------------------
aboulouafa_said
Messages postés4Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 09:23
voila ! enfin j'ai trouvé une solution !!
en général une dll utilisée est irrémplaçable, par contre on peut la renommer sans aucune violation de partage. donc il suffit de renommer la dll en question puis copier la nouvelle dll sans aucun soucis.
aboulouafa_said
Messages postés4Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention17 juillet 2007 17 juil. 2007 à 09:48
Merci pour ta réponse !!
je suis tt a fait d'accord avec toi mais avant de faire ça j'ai créé un autre composant en VB.net qui arrête l'application com+ !
j'ai tout testé et ça marche très bien !
voila contacte voi si t'as besoin de précision
aboulouafa_said
Messages postés4Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention17 juillet 2007 28 juin 2007 à 10:15
merci pour ta réponse
justement ma dll est en cours d'utlisation le problème que je peux pas arrêter
le composant sinon le thème de mon site tombe !!!
en gros j'ai besoin de l'écraser à chaud !
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 28 juin 2007 à 12:58
Il se peut à ca moment là, que, quand tu lance ton .bat, ta dll soit en cours d'utilisation <=== en fait c'est carement sur et certain
quand on ouvre un fichier on peux spécifié un mode de partage "shared, ect ..." ca permet par exemple d'autoriser d'autre programme d'acceder au fichier de refuser, acces que en lectur epour les autre ect ...
la ton site l'utilise en mode je dirais "exclusif" cad que tant que le fichier est ouvert tu pourra absolument rien en faire
apres tu ne dit pas ce que fait ta dll mais si elle est chargé a chaud dans le code ce que tu peux faire c'est deja voir si tu peux la passé en mémoire et liberer l'acces disque comme ca l'access exclusif se fera en mémoire
(memoryblock ?) (+surveillance de changement de fichier pour mettre a jour le contenu mémoire)
sinon ya un peux plus crade a faire (vu que t'en dit pas plus je suppute) tu fait une copie temporaire de la dll en cour d'utilisation avec un thread de surveillance ou un FileWatcher qui surveille le fichier "reel" et quand tu t'apercois que ca bouge tu decharge l'ancien tu le vire tu dupliques le reel en temporarie et tu le charge depuis le temporaire
il se peux que je repondent carrement a coté vu que tu dit presque rien du reste tu m'en vois dsl si ca repond pas