Publication ClickOnce à partir de VS2008 : où sont installés le programme et son app.config ?

Le
Gilbert Tordeur
Bonjour.

Suite au changement de nom d'un serveur SQL, j'ai utilisé Ctrl/H pour
modifier dans la solution toutes les occurrences de l'ancien nom de serveur
en son nouveau nom, dans un projet WinForm VB2008 (ex-VB2005) publié avec
ClickOnce.

Quand j'exécute l'application publiée sur un micro-ordinateur vierge, tout
se passe bien.

Quand je l'exécute sur un ordinateur qui avait déjà installé et utilisé
l'ancienne version, j'obtiens une erreur car le programme cherche à accéder
à l'ancien serveur !

Je me demande s'il ne garde pas la valeur d'un User Settings (qui aurait dû
être un Application Settings, je sais). Je cherche le fichier app.config
pour le modifier ; je ne trouve pas. Une autre solution serait de
désinstaller le programme, je ne trouve rien.

Où est le fichier de configuration ? Comment désinstaller le programme ?

Merci de votre aide,
Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #19683661
Bonjour Gilbert,

Arg, dans ton cas l'url de mise à jour à changé car tu ne t'es pas servi
d'un DNS ou d'un Ip qui ne boujerais pas, donc le seul moyen pour tes
postes qui utilisaient l'applciation, c'est la désinstalaltion.

La désinstallation se passe comme pour tout autre type de logiciel, dans
le panneau de configuration de ta machine "Ajout suppression de
programme" sous XP et version antiérieures "Programmes et
fonctionalités" pour Vista
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gilbert Tordeur
Le #19683741
Bonjour Jérémy.

Ah oui, mais non !

Je ne trouve aucun de mes programmes ClickOnce dans «Ajouter ou supprimer
des programmes».

De plus je ne comprends pas ton premier paragraphe.

J'ajoute une information : je ne publie pas sur un site Web ni sur un
serveur FTP, mais sur un serveur de fichiers, qui lui n'a pas changé.

Gilbert
Jérémy Jeanson
Le #19686291
Bonjour Gilbert,

Pour faire claire : une application déployé via ClickOnce doit stipuler
un endroit d'où elle est publiée (http://...../puplish/), pour éviter
tout souci en général sur un réseau local ou un vpn quelconque on choisi
de ne pas avoir dans cette adresse le nom réél de la machine, mais un
nom de substitution qui quoi qu'il arrive (changement de machine ou
renommage) ne changera jamais. Et on le renseigne via les serveur DNS du
domaine ou via les fichier host lmhost hors domaine.

Dans ton cas ce qui est bien dommage c'est que tu n'as pas fait une
version dédié à la transition des client, d'un serveur de publication
vers un autre. Cela peut se faire en prenant la dernière version du
projet, en spécifiant l'url qui doit être utilisé pour la mise à jour(
le nouveau serveur) en publiant cette version sur l'ancien serveur (ou
ancienne url)... ensuite toute les autres versions devront être publiés
sur le nouveau serveur, l'ancien serveur (ou ancienne url) pouvant être
coupé/désactivé quand tout les clients seront à jour (en focntion de la
période de l'année, un ou deux mois... oui il y a des utilisateurs qui
n'utilisent pas forcement ton logiciel mais qui l'on).

Aprsè dans ton cas concret je pense qu'il faut envisager de faire un
gros ménage à coup d'utilitaires genre ccleaner et autres et de
recherche le répertoire des applciation ClickOnce qui se trouve dans le
documentandsetting de la machine (répertoire de l'utilisateur
courant)... ça se trouve relativement bien sur le net... et tu suprime
les ansiens fichiers de ton application.

Voila
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Jérémy Jeanson
Le #19686281
Bonjour Gilbert,

Pardon pardon... je me suis totalement fourvoyé, je ne suis pas parti
sur le bon problème, je pensais que c'était ton serveur ClickOnce qui
avait changé... oups, pardon.

Dans ton cas, tu semble avoir stocké ta chaine de connexion dans le
fichier de configuration de ton application.
Quand une publication ClickOnce est faite, les donnée par défaut sur le
post client restent celle du poste client, il faut forcer leur
changement manuellement ou par programmation si on veut qu'elles soient
prise en compte.

Une méthode simple serrait d'offrir à l'utilisateur la possibilité de
changer cette chaine via ton logiciel.
Ou alors encore plus simple forcer le changement de la chaine et son
enregistrement à l'ouverture du programme, ensuite quand tu es certain
que tout tes utilisateur ont la nouvelle version tu supprimes se petit
bout de code.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gilbert Tordeur
Le #19686501
Bonjour Jérémy.

Il y a confusion. Je n'ai pas changé de serveur de déploiement. J'ai changé
de serveur SQL.

Mais la question n'est pas là. La question simple est :
Où trouver sur le PC de l'utilisateur le fichier qui contient les
UserSettings d'une application WinForm déployée par ClickOnce ? J'ai fouillé
Documents and Settingsutilisateur, mais je n'ai pas trouvé.

Et question subsidiaire :
Comment désinstaller ce genre d'application, alors qu'elle n'apparaissent
pas dans le panneau de configuration, volet «Ajouter ou supprimer des
programmes» ?

Gilbert
Jérémy Jeanson
Le #19686601
Bonjour Gilbert,

J'ai fait un petit test pour te retrouver le chemin local vers les
fichiers installés sur le poste client, ça se trouve ici :

C:UsersUtilisateurAppDataLocalApps2.0
(ceci sur un vista donc pour les autres os il faut remaplcer par
"C:Documents and settings...")

Il y a deux type de répertoires :
- l'un avec des noms à coucher dehors pour les assembly
- l'autre qui se nomme DATA et qui contient les paramètres des
application et les fichiers édité par celles-ci.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gilbert Tordeur
Le #19687031
Et bien chapeau !

J'ignore comment tu as trouvé mais en tout cas ce n'est pas évident.

Merci,
Gilbert
Jérémy Jeanson
Le #19704291
Bonjour Gilbert,

C'est un peu de tête je l'avoue, j'avais fait pas mal de test à la
sortie de ClickOnce et .net 2 donc je savais à peu près où chercher ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Publicité
Poster une réponse
Anonyme