<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>UAB</title><link>http://blogs.labo-dotnet.com/vlad/category/381.aspx</link><description>Update Application Block</description><managingEditor>Matthieu Nicolescu</managingEditor><dc:language>fr-FR</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Matthieu Nicolescu</dc:creator><title>BITS 2.0  &amp; UAB - Episode 3 ;) ou comment détecter la version de BITS installé</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/08/21/3535.aspx</link><pubDate>Sat, 21 Aug 2004 01:04:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/08/21/3535.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/3535.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/08/21/3535.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/3535.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/3535.aspx</trackback:ping><description>&lt;P&gt;Eh oui j'aime bien faire des s&amp;#233;ries comme &amp;#231;a :) et comme &amp;#231;a je pourrai finir ma trilogie qui doit int&amp;#233;resser deux ou trois p&amp;#233;ons mais c'est d&amp;#233;j&amp;#224; cela de prit !;)&lt;/P&gt;
&lt;P&gt;Depuis la sortie du BITS 2.0 et surtout du&amp;nbsp;Fix de l'Updater Application Block, &amp;#231;a discute pas mal chez nos amis de weblogs.asp.net que ce soit sur l'avenir de l'Updater au sein de ClickOnce pour avoir toujours autant de flexibilit&amp;#233; ou des probl&amp;#232;mes ou ajouts li&amp;#233;s au fix.&lt;/P&gt;
&lt;P&gt;Aujourd'hui c'est Eugenio Pace qui nous propose un patch maison AS IS pour &lt;A href="http://weblogs.asp.net/eugeniop/archive/2004/08/20/217991.aspx" target=_blank&gt;d&amp;#233;tecter la version de BITS installl&amp;#233;e&lt;/A&gt;.&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/3535.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Matthieu Nicolescu</dc:creator><title>Bits 2.0 &amp; UAB - Episode 2</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/08/17/3515.aspx</link><pubDate>Tue, 17 Aug 2004 14:41:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/08/17/3515.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/3515.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/08/17/3515.aspx#Feedback</comments><slash:comments>91</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/3515.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/3515.aspx</trackback:ping><description>&lt;P&gt;Pour compl&amp;#233;ter la &lt;A href="http://www.labo-dotnet.com/labo%2Ddotnet/?target=ShowOneNews&amp;amp;id=510" target=_blank&gt;news&lt;/A&gt; sur la labo-dotnet annon&amp;#231;ant la sortie du fix de l'Updater Application Block pour BITS 2.0, pour mettre rapidement &amp;#224; jour votre applicatif utilisant l'Updater, voici les &amp;#233;tapes : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Recompiler votre assembly "UAB.ApplicationUpdater" avec les sources&amp;nbsp;du fix&amp;nbsp;(les deux fichiers qui ont chang&amp;#233; : "BitsDownloader.cs" et "BitInterop.cs") 
&lt;LI&gt;Dans le fichier de configuration de l'application cliente, la section downloader s'est vu dot&amp;#233;e de 4 nouveaux &amp;#233;l&amp;#233;ments (fichier de configuration exemple inclus dans le&amp;nbsp;fix)&amp;nbsp;: &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=1&gt;&amp;lt;downloader type="Microsoft.ApplicationBlocks.ApplicationUpdater.Downloaders.BITSDownloader" assembly="Microsoft.ApplicationBlocks.ApplicationUpdater,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"&amp;gt;&lt;BR&gt;&amp;lt;Config&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;&lt;FONT color=#ff0000&gt;&amp;lt;userName&amp;gt;&amp;lt;/userName&amp;gt; &amp;lt;!-- Not needed if using NTLM Authn --&amp;gt;&lt;BR&gt;&amp;lt;password&amp;gt;&amp;lt;/password&amp;gt; &amp;lt;!-- Not needed if using NTLM Authn --&amp;gt;&lt;BR&gt;&amp;lt;authenticationScheme&amp;gt;1&amp;lt;/authenticationScheme&amp;gt; &amp;lt;!-- BASIC=1,DIGEST=2, NTLM=3, NEGOTIATE=4,PASSPORT=5 --&amp;gt;&lt;BR&gt;&amp;lt;targetServerType&amp;gt;1&amp;lt;/targetServerType&amp;gt; &amp;lt;!-- 1: download the bits from the server, 2: download the bits from the proxy --&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&amp;lt;/Config&amp;gt; &lt;BR&gt;&amp;lt;/downloader&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Fichier &amp;#224; compl&amp;#233;ter selon votre cas... Et c'est tout ! De mon c&amp;#244;t&amp;#233; j'ai test&amp;#233; et remarqu&amp;#233; aucun probl&amp;#232;me. Et vous ? :)&lt;/P&gt;
&lt;P&gt;Sinon&amp;nbsp;toujours en ce qui concerne l'Updater App Block, on m'a fait remarqu&amp;#233; la semaine derni&amp;#232;re que le code fournit sur l'article du Labo .NET&amp;nbsp;ne permettait pas de d&amp;#233;clencher l'&amp;#233;v&amp;#232;nement "FilesValidated" : le probl&amp;#232;me vient du fait que dans le fichier de configuration, l'attribut "usevalidation" de l'&amp;#233;l&amp;#233;ment "application" est &amp;#224; false ==&amp;gt; suffit de le mettre &amp;#224; true pour que l'&amp;#233;v&amp;#232;nement soit d&amp;#233;clench&amp;#233; :) Je vais faire une pr&amp;#233;cision sur l'article d&amp;#232;s que je pourrai le mettre &amp;#224; jour.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/A&gt;&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/3515.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Matthieu Nicolescu</dc:creator><title>Updater Application Block &amp;&amp; BITS 2.0</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/08/07/3478.aspx</link><pubDate>Sat, 07 Aug 2004 14:21:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/08/07/3478.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/3478.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/08/07/3478.aspx#Feedback</comments><slash:comments>110</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/3478.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/3478.aspx</trackback:ping><description>&lt;P&gt;Une mise &amp;#224; jour du (traduction)&amp;nbsp; service de transfert intelligent en arri&amp;#232;re-plan aka BITS est sortie r&amp;#233;cemment avec sa version 2.0&amp;nbsp;&amp;nbsp;: &lt;A href="http://support.microsoft.com/default.aspx?kbid=842309" target=_blank&gt;http://support.microsoft.com/default.aspx?kbid=842309&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mais il&amp;nbsp;peut&amp;nbsp;y&amp;nbsp;avoir quelques probl&amp;#232;mes avec cette version si vous utilisez le Downloader BITS par exemple au sein de l'Updater Application Block. Donc l'&amp;#233;quipe de ce merveilleux PAG vous propose de devenir beta tester&amp;nbsp;du nouveau code en leur envoyant un mail : &lt;A href="mailto:pagscpex@microsoft.com"&gt;pagscpex@microsoft.com&lt;/A&gt;&amp;nbsp;et une&amp;nbsp;fois test&amp;#233; il sera disponible sur l'espace&amp;nbsp;GotDotNet.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5" target=_blank&gt;Updater Application Block GotDotNet WorkSpace&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Message de l'&amp;#233;quipe :&lt;/P&gt;
&lt;P&gt;&lt;SPAN id=WorkspaceNewsControl1_Repeater1__ctl1_contentLabel&gt;&lt;EM&gt;Because of some security tighetening implemented in the latest version of BITS (BITS 2.0) you may have experienced problems with Updater Application Block if you depend on implicit credentials to communicate with a server. There's a published a KB about this here: &lt;/EM&gt;&lt;A href="http://support.microsoft.com/default.aspx?kbid=842309" target=_blank&gt;&lt;EM&gt;http://support.microsoft.com/default.aspx?kbid=842309&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; &lt;BR&gt;&lt;BR&gt;Even though there might be workarounds, we have changed the UAB code to fix the problem, but before posting it to the workspace, we'd like to find some volunteers to test it in their own environments, to make sure the solution works fine.&lt;/EM&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;STRONG&gt;[UPDATE] :&lt;/STRONG&gt; Le nouveau code est disponible : &lt;A href='http://www.gotdotnet.com/Community/Workspaces/viewuploads.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5' target=_blank&gt;Updater Application Block BITS 2.0 Fix&lt;/A&gt; .&lt;/P&gt;&lt;/SPAN&gt;&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/3478.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Matthieu Nicolescu</dc:creator><title>Updater Application Block Step By Step</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/06/12/2098.aspx</link><pubDate>Sat, 12 Jun 2004 03:21:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/06/12/2098.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/2098.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/06/12/2098.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/2098.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/2098.aspx</trackback:ping><description>Pour compl&amp;#233;ter mon &lt;A href="http://www.labo-dotnet.com/labo-dotnet/default.aspx?target=ShowOneArticle&amp;ID=197" target=_blank&gt;article sur l'Updater Application Block&lt;/A&gt; et sa petite &lt;A href="http://blogs.labo-dotnet.com/vlad/archive/2004/03/01/1149.aspx" target=_blank&gt;FAQ&lt;/A&gt;, n'h&amp;#233;sitez pas &amp;#224; consulter le &lt;A href="http://dotnetjunkies.com/WebLog/BsBlog/archive/2004/06/10/16118.aspx" target=_blank&gt;post de Brendam Tomkins&lt;/A&gt; qui vous explique &amp;#233;tape par &amp;#233;tape comment utiliser ce PAG. Ce Post est assez pratique car il va directement &amp;#224; l'essentiel et permet donc &amp;#224; son lecteur de prendre en main le PAG en quelques minutes :) Donc si vous souhaitez impl&amp;#233;menter un syst&amp;#232;me de mise &amp;#224; jour sur votre application Windows, je vous conseille ce post en plus de mon article ;)&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/2098.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Matthieu Nicolescu</dc:creator><title>Updater Application Block FAQ</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/03/01/1149.aspx</link><pubDate>Mon, 01 Mar 2004 20:20:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/03/01/1149.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/1149.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/03/01/1149.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/1149.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/1149.aspx</trackback:ping><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Suite &amp;#224; la parution de l&amp;#8217;&lt;?xml:namespace prefix = st1 ns = "schemas-labo-dotnet-com/smarttag" /&gt;&lt;st1:topic w:st="on" article="article"&gt;article&lt;/st1:topic&gt; sur l&amp;#8217;&lt;st1:topic w:st="on" Updater="Updater"&gt;Updater&lt;/st1:topic&gt; &lt;st1:topic w:st="on" application="application"&gt;Application&lt;/st1:topic&gt; Block hier, j&amp;#8217;ai re&amp;#231;u deux questions int&amp;#233;ressantes par &lt;st1:topic w:st="on" mail="mail"&gt;mail&lt;/st1:topic&gt;. Je publie les r&amp;#233;ponses aussi ici car &amp;#231;a peut int&amp;#233;resser d&amp;#8217;autres personnes qui voudraient utiliser ce &lt;st1:topic w:st="on" PAG="PAG"&gt;PAG&lt;/st1:topic&gt;.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0cm" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Comment coupler le syst&amp;#232;me &lt;st1:topic w:st="on" Updater="Updater"&gt;Updater&lt;/st1:topic&gt; &lt;st1:topic w:st="on" application="application"&gt;Application&lt;/st1:topic&gt; Block avec un &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt; ? Je m&amp;#8217;explique sur l&amp;#8217;&lt;st1:topic w:st="on" article="article"&gt;article&lt;/st1:topic&gt; il est marqu&amp;#233; par &lt;st1:topic w:st="on" exemple="exemple"&gt;exemple&lt;/st1:topic&gt; que dans le fichier de configuration de AppStart.exe, on doit rentrer le chemin complet ou se trouve la version courante. Comment faire cela avec un &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt; sachant que l&amp;#8217;&lt;st1:topic w:st="on" utilisateur="utilisateur"&gt;utilisateur&lt;/st1:topic&gt; peut changer son chemin d&amp;#8217;&lt;st1:topic w:st="on" Installation="Installation"&gt;installation&lt;/st1:topic&gt;.&lt;/B&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Premi&amp;#232;re solution : Supprimer l&amp;#8217;interface &lt;st1:topic w:st="on" utilisateur="utilisateur"&gt;utilisateur&lt;/st1:topic&gt; &amp;#171; &lt;st1:topic w:st="on" Installation="Installation"&gt;Installation&lt;/st1:topic&gt; Folder &amp;#187; du &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt; pour que l&amp;#8217;&lt;st1:topic w:st="on" application="application"&gt;application&lt;/st1:topic&gt; s&amp;#8217;installe toujours au m&amp;#234;me endroit et ne pas laisser le choix &amp;#224; l&lt;st1:topic w:st="on" utilisateur="utilisateur"&gt;&amp;#8217;utilisateu&lt;/st1:topic&gt;r. Solution tout de m&amp;#234;me &amp;#224; &amp;#233;viter &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Deuxi&amp;#232;me solution : Cette solution est un peu plus compliqu&amp;#233;e que la premi&amp;#232;re. Elle consiste a r&amp;#233;cup&amp;#233;rer une fois install&amp;#233; le fichier AppStart.exe.config et le modifier. On va pour cela cr&amp;#233;er une &lt;st1:topic w:st="on" classe="classe"&gt;classe&lt;/st1:topic&gt; &lt;st1:topic w:st="on" Installer="Installer"&gt;Installer&lt;/st1:topic&gt; et la lier &amp;#224; l&amp;#8217;action &amp;#171; Install &amp;#187; de notre &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt;.&lt;BR&gt;Dans la&lt;st1:topic w:st="on" classe="classe"&gt; class&lt;/st1:topic&gt;e &lt;st1:topic w:st="on" Installer="Installer"&gt;Installer&lt;/st1:topic&gt;, il suffit alors de cr&amp;#233;er une m&amp;#233;thode qui sera appel&amp;#233; lors de l&amp;#8217;&amp;#233;v&amp;#233;nement &amp;#171; AfterInstall &amp;#187;. Dans cet m&amp;#233;thode on va tout simplement modifier les &amp;#233;lements &lt;st1:topic w:st="on" Xml="Xml"&gt;Xml&lt;/st1:topic&gt; de notre fichier de configuration :&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; &lt;st1:topic w:st="on" Installer="Installer"&gt;Installer&lt;/st1:topic&gt;_AfterInstall(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, System.Configuration.Install.InstallEventArgs e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//On r&amp;#233;cup&amp;#232;re le num&amp;#233;ro de version qu&amp;#8217;on a envoy&amp;#233; en Custom &lt;st1:topic w:st="on" data="data"&gt;Data&lt;/st1:topic&gt; depuis notre &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;s&lt;st1:topic w:st="on" tri="tri"&gt;tri&lt;/st1:topic&gt;ng&lt;/SPAN&gt; versionFolder = Context.Parameters["version"].To&lt;st1:topic w:st="on" tri="tri"&gt;Str&lt;/st1:topic&gt;ing();&lt;BR&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//On r&amp;#233;cup&amp;#232;re ici le chemin ou va &amp;#234;tre install&amp;#233; notre &lt;st1:topic w:st="on" application="application"&gt;application&lt;/st1:topic&gt; et o&amp;#249; se trouve donc AppStart.exe, &lt;SPAN style="mso-tab-count: 1"&gt;              &lt;/SPAN&gt;chemin qu&amp;#8217;on a aussi envoy&amp;#233; en Custom &lt;st1:topic w:st="on" data="data"&gt;Data&lt;/st1:topic&gt; depuis notre &lt;st1:topic w:st="on" Msi="Msi"&gt;MSI&lt;/st1:topic&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" tri="tri"&gt;&lt;SPAN style="COLOR: blue"&gt;str&lt;/SPAN&gt;&lt;/st1:topic&gt;&lt;SPAN style="COLOR: blue"&gt;ing&lt;/SPAN&gt; appStartFolder = Context.Parameters["InstallationFolder"].To&lt;st1:topic w:st="on" tri="tri"&gt;Str&lt;/st1:topic&gt;ing() ;&lt;BR&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//On cr&amp;#233;er le chemin complet vers l&amp;#8217;exe de l&lt;st1:topic w:st="on" application="application"&gt;&amp;#8217;applicatio&lt;/st1:topic&gt;n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;s&lt;st1:topic w:st="on" tri="tri"&gt;tri&lt;/st1:topic&gt;ng&lt;/SPAN&gt; exeFolder = Path.Combine(appStartFolder,versionFolder);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//On Charge ensuite tout simplement le fichier &lt;st1:topic w:st="on" Xml="Xml"&gt;Xml&lt;/st1:topic&gt; de configuation et on modifie les &amp;#233;l&amp;#233;ments&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;Xml&lt;/st1:topic&gt;Document&lt;st1:topic w:st="on" Xml="Xml"&gt; xm&lt;/st1:topic&gt;lDocAppStart = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt; Xm&lt;/st1:topic&gt;lDocument();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;xml&lt;/st1:topic&gt;DocAppStart.Load(Path.Combine(appStartFolder,_appStartConfFileName));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;xml&lt;/st1:topic&gt;DocAppStart.SelectSingleNode("configuration/appStart/&lt;st1:topic w:st="on" client="client"&gt;Client&lt;/st1:topic&gt;&lt;st1:topic w:st="on" application="application"&gt;Application&lt;/st1:topic&gt;Info/appFolderName").InnerText = exeFolder;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;xml&lt;/st1:topic&gt;DocAppStart.SelectSingleNode("configuration/appStart/&lt;st1:topic w:st="on" client="client"&gt;Client&lt;/st1:topic&gt;&lt;st1:topic w:st="on" application="application"&gt;Application&lt;/st1:topic&gt;Info/installedVersion").InnerText = versionFolder;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;xml&lt;/st1:topic&gt;DocAppStart.SelectSingleNode("configuration/appStart/&lt;st1:topic w:st="on" client="client"&gt;Client&lt;/st1:topic&gt;&lt;st1:topic w:st="on" application="application"&gt;Application&lt;/st1:topic&gt;Info/appExeName").InnerText = "&lt;st1:topic w:st="on" toto="toto"&gt;toto&lt;/st1:topic&gt;.exe";&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;                &lt;/SPAN&gt;&lt;st1:topic w:st="on" Xml="Xml"&gt;xml&lt;/st1:topic&gt;DocAppStart.Save(Path.Combine(appStartFolder,_appStartConfFileName));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Voila si vous avez d&amp;#8217;autres solutions je suis preneur &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0cm" type=1 start=2&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Peut-on h&amp;#233;berger les versions de l&amp;#8217;&lt;st1:topic w:st="on" application="application"&gt;application&lt;/st1:topic&gt; &amp;#224; &lt;st1:topic w:st="on" Updater="Updater"&gt;updater&lt;/st1:topic&gt; sur un &lt;st1:topic w:st="on" serveur="serveur"&gt;serveur&lt;/st1:topic&gt; FTP ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Oui comme pr&amp;#233;cis&amp;#233; dans le premier ch&lt;st1:topic w:st="on" api="api"&gt;api&lt;/st1:topic&gt;tre, on peut r&amp;#233;aliser nos propres Downloader en impl&amp;#233;mentant l&amp;#8217;interface IDownloader. IL existe par d&amp;#233;faut un Downloader pour r&amp;#233;cup&amp;#233;rer les fichiers &amp;#224; partir d&amp;#8217;un partage &lt;st1:topic w:st="on" web="web"&gt;Web&lt;/st1:topic&gt; (BITS) et un autre en &lt;st1:topic w:st="on" exemple="exemple"&gt;exemple&lt;/st1:topic&gt; dans l&amp;#8217;&lt;st1:topic w:st="on" application="application"&gt;application&lt;/st1:topic&gt; de d&amp;#233;monstration &amp;#171; FlexPoints &amp;#187; pour r&amp;#233;cup&amp;#233;rer les fichiers &amp;#224; partir d&amp;#8217;un partage Netbios. &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Pour information, il y aura un downloader FTP pour &lt;st1:topic w:st="on" ClickOnce="ClickOnce"&gt;ClickOnce&lt;/st1:topic&gt; sachant que le point de publication pourra &amp;#234;tre un lien http, simple partage ou encore lien ftp.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;--&lt;BR&gt;Fin&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/1149.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Matthieu Nicolescu</dc:creator><title>Article sur Updater Application Block et ClickOnce...</title><link>http://blogs.labo-dotnet.com/vlad/archive/2004/02/29/1148.aspx</link><pubDate>Sun, 29 Feb 2004 16:35:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/vlad/archive/2004/02/29/1148.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/vlad/comments/1148.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/vlad/archive/2004/02/29/1148.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/vlad/comments/commentRss/1148.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/vlad/services/trackbacks/1148.aspx</trackback:ping><description>&lt;P&gt;Comme promis (avec quelques jours de retard :)), je viens de mettre en ligne mon article sur l'Updater Application Block : &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;A href="http://www.labo-dotnet.com/labo-dotnet/?target=showonearticle&amp;ID=197"&gt;http://www.labo-dotnet.com/labo-dotnet/?target=showonearticle&amp;ID=197&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;J'ai rajout&amp;#233; &amp;#224; la fin un chapitre sur ClickOnce : il est vrai que pour l"instant on  ne publiera pas grand chose comme article sur Whidbey (et c'est fait expr&amp;#232;s... &amp;#224; mon grand d&amp;#233;sespoir :)) mis &amp;#224; part nos news sur le labo mais on va dire que cet article est l'exception qui fait la r&amp;#232;gle :) Et je trouvais aussi int&amp;#233;ressant de faire le parall&amp;#232;le entre l'Updater Application et ClickOnce.&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/vlad/aggbug/1148.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>