OVH Cloud OVH Cloud

Remplacer un .exe en cours d'utilisation

8 réponses
Avatar
Stephane T
Bonjour a toutes et tous

Afin que tous mes utilisateurs puissent avoir la meme version des programmes
que nous dévelloppons, j'ai mis des raccourcis sur leurs bureau pointant
vers l'exe sur un serveur. mais quand je veux remplacer l'exe par une mise à
jour, impossible et pour cause.

Y aurait il une solution. pour le momment, je "coupe" les fichiers ouvert
sur le serveur mais c'est un peu long et fastidieu.

Alors si une bonne ame aurait une petite solution a me proposer

Par avance merci

Stéphane

8 réponses

Avatar
Francis Spiesser
Stephane T a formulé ce vendredi :
Bonjour a toutes et tous

Afin que tous mes utilisateurs puissent avoir la meme version des programmes
que nous dévelloppons, j'ai mis des raccourcis sur leurs bureau pointant
vers l'exe sur un serveur. mais quand je veux remplacer l'exe par une mise à
jour, impossible et pour cause.


En effet !


Y aurait il une solution. pour le momment, je "coupe" les fichiers ouvert
sur le serveur mais c'est un peu long et fastidieu.



Et très dangereux pour l'intégirté des données

Alors si une bonne ame aurait une petite solution a me proposer



Tu changes ta procédure en installant les exe sur le poste puis tu
vérifies au démarrage de la machine (où à chaque lancement du soft) que
la version du serveur n'est pas plus récente que celle du poste. Si
oui, tu recopies.

Le réseau et le serveur en seront soulagés et plus de problèmes de mise
à jour !

--

------------------------------
Francis
(remplacer .nospam par .net dans mon adresse pour me répondre
directement)

"Quand tout baigne, il y a forcément quelque chose qui va couler"

Avatar
Francis Spiesser
PS : désolé pour les fautes, d'habitude je fais plus attention

--

------------------------------
Francis
(remplacer .nospam par .net dans mon adresse pour me répondre
directement)

"Quand tout baigne, il y a forcément quelque chose qui va couler"
Avatar
TC
"Stephane T" a écrit dans le message de
news: %
Bonjour a toutes et tous

Afin que tous mes utilisateurs puissent avoir la meme version des
programmes
que nous dévelloppons, j'ai mis des raccourcis sur leurs bureau pointant
vers l'exe sur un serveur. mais quand je veux remplacer l'exe par une mise
à
jour, impossible et pour cause.

Y aurait il une solution. pour le momment, je "coupe" les fichiers ouvert
sur le serveur mais c'est un peu long et fastidieu.

Alors si une bonne ame aurait une petite solution a me proposer

Par avance merci

Stéphane



Bonjour,


Vous pouvez aussi arreter le service "serveur"
faire votre copie et redémarer le service.

C'est brutal, mais efficace!!

Bonne journée

@+
TC

Avatar
WinSysBee Support
En fait il est également possible de faire comme ceci:
de mettre sur le répertoire du serveur qui contient l'application, deux
executables du programme Prog1.exe et Prog2.exe (au départ ce sont les
mêmes)
le shortcut sur le bureau de l'utilisateur pointe sur un .bat qui compare
les dates des deux fichiers et lance l'exe dont la date est la plus récente.
Ainsi lors d'une mise à jour (on remplace l'exe le plus ancien), les
personnes déjà connectées ne seront pas stoppées dans leur travail, et
auront la nouvelle version lors de leur prochain lancement, puis les
nouvelles personnes voulant accéder à l'appli auront immédiatement la
dernière version.

Le seul conflit qui puisse rester est si il y a encore des perosnnes
utilisant les deux executables, mais cela devrait être minime, sinon passer
à 3 exe et/ou leur téléphoner pour leur demander une deconnexion.

Maintenant il existe aussi des techniques plus élaborées qui prennent en
compte d'autres critères de diffusion, et notamment la technologie
ClickOnce:
http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/default.aspx

WinSysBee Support
http://www.winsysbee.com


"TC" <Admnt91(nospam)@hotmail.com> wrote in message
news:OeQ$

"Stephane T" a écrit dans le message de
news: %
Bonjour a toutes et tous

Afin que tous mes utilisateurs puissent avoir la meme version des
programmes
que nous dévelloppons, j'ai mis des raccourcis sur leurs bureau pointant
vers l'exe sur un serveur. mais quand je veux remplacer l'exe par une
mise à
jour, impossible et pour cause.

Y aurait il une solution. pour le momment, je "coupe" les fichiers ouvert
sur le serveur mais c'est un peu long et fastidieu.

Alors si une bonne ame aurait une petite solution a me proposer

Par avance merci

Stéphane



Bonjour,


Vous pouvez aussi arreter le service "serveur"
faire votre copie et redémarer le service.

C'est brutal, mais efficace!!

Bonne journée

@+
TC





Avatar
Thierry DEMAN [MVP]
Salut,

l'utilitaire "InUse" disponible chez Microsoft est prévu pour cela!

Le remplacement est programmé pour le prochain démarrage.

A+
--
Thierry DEMAN-BARCELÒ
MVP Exchange,SQL/Server
FAQ Exchange: http://faqexchange.dyndns.org
Site personnel: http://webfamilial.dyndns.org/thierry/pageprincipale.htm


"WinSysBee Support" wrote in message
news:426cda07$0$20667$
En fait il est également possible de faire comme ceci:
de mettre sur le répertoire du serveur qui contient l'application, deux
executables du programme Prog1.exe et Prog2.exe (au départ ce sont les
mêmes)
le shortcut sur le bureau de l'utilisateur pointe sur un .bat qui compare
les dates des deux fichiers et lance l'exe dont la date est la plus
récente.
Ainsi lors d'une mise à jour (on remplace l'exe le plus ancien), les
personnes déjà connectées ne seront pas stoppées dans leur travail, et
auront la nouvelle version lors de leur prochain lancement, puis les
nouvelles personnes voulant accéder à l'appli auront immédiatement la
dernière version.

Le seul conflit qui puisse rester est si il y a encore des perosnnes
utilisant les deux executables, mais cela devrait être minime, sinon
passer à 3 exe et/ou leur téléphoner pour leur demander une deconnexion.

Maintenant il existe aussi des techniques plus élaborées qui prennent en
compte d'autres critères de diffusion, et notamment la technologie
ClickOnce:
http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/default.aspx

WinSysBee Support
http://www.winsysbee.com


"TC" <Admnt91(nospam)@hotmail.com> wrote in message
news:OeQ$

"Stephane T" a écrit dans le message
de news: %
Bonjour a toutes et tous

Afin que tous mes utilisateurs puissent avoir la meme version des
programmes
que nous dévelloppons, j'ai mis des raccourcis sur leurs bureau pointant
vers l'exe sur un serveur. mais quand je veux remplacer l'exe par une
mise à
jour, impossible et pour cause.

Y aurait il une solution. pour le momment, je "coupe" les fichiers
ouvert
sur le serveur mais c'est un peu long et fastidieu.

Alors si une bonne ame aurait une petite solution a me proposer

Par avance merci

Stéphane



Bonjour,


Vous pouvez aussi arreter le service "serveur"
faire votre copie et redémarer le service.

C'est brutal, mais efficace!!

Bonne journée

@+
TC









Avatar
Jean-Claude BELLAMY
Dans le message news:uql$ ,
Thierry DEMAN [MVP] s'est ainsi exprimé:

Salut,

l'utilitaire "InUse" disponible chez Microsoft est prévu pour cela!
Le remplacement est programmé pour le prochain démarrage.


Non Thierry, tu fais fausse route!
Relis la question initialement posée !
Le problème ICI n'est pas de remplacer un exe (ou DLL ) par un autre parce
qu'il est utilisé en LOCAL (et dans ce cas, effectivement, "inuse" est
approprié), mais parce que des utilisateurs l'utilisent à DISTANCE en ayant
des fichiers de données OUVERTS par ce logiciel !
Si on redémarre le PC sur leqeul se trouve l'exe en question, on risque de
corrompre les données des collègues qui travaillaient avec le logiciel.

C''est un problème vieux comme les réseaux d'ordinateurs !
Je me souviens avoir été confronté à ce problème déjà en 1980 quand je
travaillais sous TSO sur des IBM 3081 ! ;-)

J'avais conçu des (gros) programmes utilisés par différents collègues, et
très souvent je ne pouvais plus faire de recompilation car ces exécutables
étaient constamment utilisés par d'autres. (DISP=SHR en JCL !!)

Seule méthode : envoyer un message général du style
"SVP veuillez clore rapdiement votre appli, j'ai besoin de recompiler le
programme 'machin' "


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

Avatar
Thierry DEMAN [MVP]
Hello,

pour moi, que le fichier soit utilisé par un service en local sur le serveur
ou à distance,
l'utilitaire "inuse" fait son usage et permet de remplacer un exe (ou une
.dll) en inscrivant le remplacement de ce fichier au redémarrage du serveur
!

Bien entendu, cette commande est à réaliser "sur le serveur" !

A bientôt,

--
Thierry DEMAN-BARCELÒ
MVP Exchange,SQL/Server
FAQ Exchange: http://faqexchange.dyndns.org
Site personnel: http://webfamilial.dyndns.org/thierry/pageprincipale.htm


"Jean-Claude BELLAMY" wrote in message
news:
Dans le message news:uql$ ,
Thierry DEMAN [MVP] s'est ainsi exprimé:

Salut,

l'utilitaire "InUse" disponible chez Microsoft est prévu pour cela!
Le remplacement est programmé pour le prochain démarrage.


Non Thierry, tu fais fausse route!
Relis la question initialement posée !
Le problème ICI n'est pas de remplacer un exe (ou DLL ) par un autre parce
qu'il est utilisé en LOCAL (et dans ce cas, effectivement, "inuse" est
approprié), mais parce que des utilisateurs l'utilisent à DISTANCE en
ayant des fichiers de données OUVERTS par ce logiciel !
Si on redémarre le PC sur leqeul se trouve l'exe en question, on risque de
corrompre les données des collègues qui travaillaient avec le logiciel.

C''est un problème vieux comme les réseaux d'ordinateurs !
Je me souviens avoir été confronté à ce problème déjà en 1980 quand je
travaillais sous TSO sur des IBM 3081 ! ;-)

J'avais conçu des (gros) programmes utilisés par différents collègues, et
très souvent je ne pouvais plus faire de recompilation car ces exécutables
étaient constamment utilisés par d'autres. (DISP=SHR en JCL !!)

Seule méthode : envoyer un message général du style
"SVP veuillez clore rapdiement votre appli, j'ai besoin de recompiler
le programme 'machin' "


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*





Avatar
Jean-Claude BELLAMY
Dans le message news:%23$ ,
Thierry DEMAN [MVP] s'est ainsi exprimé:

Hello,

pour moi, que le fichier soit utilisé par un service en local sur le
serveur ou à distance,
l'utilitaire "inuse" fait son usage et permet de remplacer un exe (ou
une .dll) en inscrivant le remplacement de ce fichier au redémarrage
du serveur !


Je n'ai jamais prétendu le contraire quant à l'utilité de "inuse"!
J'ai même écrit un utilitaire qui fait la même chose, basé sur l'utilisation
de la fonction "MoveFileEx" de Kernel32.dll :
http://www.bellamyjc.org/fr/systeme.html#replace

Le pb est que cela nécessite l'ARRET du serveur !

Dans le cas d'une DLL qui sert au système, cela parait incontournable, on
est bien d'accord.

Mais là, dans le cas PRÉCIS, c'est un exe applicatif, donc NON VITAL au
système, donc il eût été pratique de pouvoir fermer PROPREMENT tous les
fichiers ouverts à distance par cet exe, sans devoir redémarrer la
machine...

La philosophie est totalement différente !

As-tu saisi la nuance ? ;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*