2010-03-15 4 views
1

VS 2008/VB.Net/WinFormsVB.Net application Paramètres/ClickOnce

J'ai un paramètre d'application (Settings.settings) pour un projet et je me sers Cliquez une fois le déploiement.

J'ai utilisé le VS Editor pour créer le cadre et je peux voir le paramètre dans le fichier app.config

<applicationSettings> 
    <MyApp.Win.My.MySettings> 
    <setting name="MySetting" serializeAs="String"> 
    <value>False</value> 
    </setting> 
    </MyApp.Win.My.MySettings> 
</applicationSettings> 

Je voudrais mettre à jour ce paramètre après l'application est conditionnée en un clic une fois. Le paramètre est uniquement à des fins de test.

Si je change le xxx.config.deploy et je réinstalle l'application avec le clic une fois. La nouvelle valeur de paramètre ne change pas (semble être mise en cache quelque part). Même si je change dans mon PC local, le réglage semble être mis en cache quelque part. Si je vais en VS, il me demande de re-synchroniser les paramètres. Mais je dois faire ceci après que l'application soit empaquetée en clic une fois.

Mise à jour

Je suis en mesure de modifier d'autres paramètres, par exemple la chaîne de connexion et il est réfléchissais après une application est installée. J'ai seulement des problèmes avec les paramètres "MySettings".

étapes: clarification

    Créer
  1. cliquez une fois le déploiement
  2. Copier sur le serveur de déploiement de clients (IIS) Modifier le fichier xxx.config.deploy sur le serveur
  3. installation sur un PC client (en installant à partir du serveur de déploiement à l'étape 2)
  4. le PC client n'a pas la mise à jour

Merci pour toute aide

+0

J'ai supprimé mon ancien message car il n'a pas résolu votre problème. J'essaye toujours de comprendre ce que tu fais. Ces 4 étapes sont-elles correctes? 1. Vous créez un déploiement ClickOnce avec Visual Studio. 2. Installez-le sur un client. 3. Editez le fichier xxx.config.deploy sur le serveur sur lequel vous avez été déployé. 4. Redémarrez l'application et attendez-vous à obtenir vos paramètres modifiés. – codeConcussion

+0

Si les étapes ci-dessus sont correctes, êtes-vous en train de recréer votre déploiement?ClickOnce ne téléchargera aucun fichier à moins que la version .application ait changé. – codeConcussion

+0

Vous avez presque raison ... 1. Créer un clic de déploiement 2. Copier sur le serveur de déploiement des clients (IIS) 3. Editer le fichier xxx.config.deploy sur le serveur 4. Installer sur un PC client 5. L'ordinateur client n'a pas le paramètre mis à jour –

Répondre

0

Intéressant. J'aurais pensé que l'installation aurait échoué mais je l'ai juste essayée, ai changé une valeur dans le config.deploy et l'installation fonctionne bien et comme vous dites la valeur que j'ai changée a toujours la valeur originale. Lorsque les fichiers de déploiement sont créés, clickonce crée un manifeste et vérifie que tous les fichiers sont inchangés. Si un fichier est différent, l'installation échoue.

Il semble que le fichier config.deploy n'est pas vérifié, donc je DEVRAIS que lorsque le manifeste est créé, il doit enregistrer le contenu et utiliser ces contenus lors de l'installation du client.

Alors, comment mettre à jour votre valeur? Le problème est que la création des manifestes se produit pendant la cible CoreBuild de MsBuild. Tout changement après cela va invalider la version publiée, donc je pense que le meilleur endroit pour le mettre à jour est dans l'événement BeforeBuild. Il y a un certain nombre de choses à considérer lors de la mise à jour du fichier alors vérifiez mon blog entry, c'est un peu exagéré pour ce que vous voulez faire, mais même si ce que vous voulez faire semble simple, c'est assez difficile à obtenir.

+0

J'ai désactivé la signature afin que je puisse changer les fichiers de configuration de clickonce. Je suis capable de modifier d'autres paramètres, par exemple la chaîne de connexion et il est réfléchi après l'installation d'une application. –

+0

Ahh, c'est pourquoi il n'a pas échoué, normalement il serait – JohnnyJP

Questions connexes