2010-08-24 3 views
3

J'ai une petite application wpf déployée en utilisant la technologie ClickOnce. Le problème est que lorsque je construis une nouvelle version, les clients téléchargent tous les fichiers, bien que beaucoup de ces fichiers n'aient pas été changés. J'utilise la configuration suivante pour rendre manifeste de déploiementClickOnce met à jour tous les fichiers. Pourquoi?

<GenerateDeploymentManifest AssemblyName="MyApp.exe.application" 
    AssemblyVersion="1.0.0.0" 
    DeploymentUrl="\\...\MyApp.exe.application" 
    Product="Egs.Client" 
    TargetCulture="ru-RU" 
    Description="My application" 
    Publisher="MyCompany" 
    Install="true" 
    UpdateInterval="1" 
    UpdateUnit="Weeks" 
    UpdateEnabled="true" 
    UpdateMode="Background" 
    OutputManifest="$(ApplicationFile)" 
    MapFileExtensions="true" 
    EntryPoint="@(DeploymentManifestEntryPoint)" /> 

Même si je viens de changer « 1.0.0.0 » à « 1.0.0.1 » clients retélécharger ensemble de l'application. Ai-je manqué quelque chose ou est-ce un comportement standard?

Répondre

2

Si un assemblage change du tout, il sera téléchargé. La reconstruction d'un assemblage compte comme un changement. En général, j'oublie Visual Studio pour créer des déploiements et j'utilise Mage à la place. Ensuite, je ne pas point Mage à la corbeille où tous les assemblages sont construits, je le pointe dans un dossier distinct où je copie manuellement dans les assemblées que je veux déployer. Avoir du sens?

+0

Salut, merci pour votre réponse. Je n'utilise pas VisualStudio non plus, j'utilise aussi Mage pour le déploiement. Ai-je raison que si j'utilise la commande comme mage.exe -Nouveau .... alors tous les fichiers seront re-téléchargés et mage.exe -Update devrait être utilisé à la place? –

+0

-New ou -Update ne devrait pas avoir d'importance. La principale chose à surveiller est que si vous ne voulez pas qu'un assembly soit déployé, vous devez construire votre nouveau déploiement avec ** exactement le même ** assembly, pas une version reconstruite de cet assembly. ClickOnce hache vos fichiers, c'est comme ça qu'il sait quoi télécharger; il compare les hachages de fichiers du client avec le serveur, tous les fichiers différents sont téléchargés. Faire ** n'importe quoi ** à un assemblage, y compris en le reconstruisant, provoquera la génération d'un hachage différent qui provoquera son téléchargement. – codeConcussion

Questions connexes