<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sébastien Bovo [Microsoft France]  : .NET Fx 3.5</title><link>http://blogs.msdn.com/sbovo/archive/tags/.NET+Fx+3.5/default.aspx</link><description>Tags: .NET Fx 3.5</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Propagation de clés par Office2007 de HKLM vers HKCU</title><link>http://blogs.msdn.com/sbovo/archive/2009/08/06/propagationdecl-soffice2007dehklmvershkcu.aspx</link><pubDate>Thu, 06 Aug 2009 12:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9823657</guid><dc:creator>Sebastien Bovo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sbovo/comments/9823657.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sbovo/commentrss.aspx?PostID=9823657</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sbovo/rsscomments.aspx?PostID=9823657</wfw:comment><description>&lt;p&gt;Office 2007 apporte une fonctionnalité intéressante de propagation de clés de registre. Le principe est de pouvoir utiliser HKEY_LOCAL_MACHINE pour des clés qui se retrouvent normalement que dans HKEY_CURRENT_USER.&lt;/p&gt;  &lt;p&gt;Cette fonctionnalité peut vous être utile, par exemple, dans le cadre d’un déploiement d’un Add-In Office 2007 qui ne peut se faire par définition que pour l’utilisateur courant (c’est à dire dans HKCU). Vous pouvez aussi en avoir besoin dans le cadre d’un paramétrage Office ne s’effectuant que dans la ruche HKCU comme l’affichage du ruban développeur Office. &lt;/p&gt;  &lt;p&gt;Voici comment cela fonctionne.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A chaque lancement d’applications Office, les clés contenus dans &amp;quot;&lt;b&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\&lt;span style="background: yellow; mso-highlight: yellow"&gt;User Settings&lt;/span&gt;&amp;quot;&lt;/b&gt; sont vérifiées &lt;/li&gt;    &lt;li&gt;Disons, par exemple, que l’on crée &amp;quot;&lt;b&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\&lt;span style="background: yellow; mso-highlight: yellow"&gt;MaPropagation&lt;/span&gt;&lt;/b&gt;&amp;quot; contenant notre logique de propagation. Nous pouvons ensuite créer des sous-clés &amp;quot;&lt;b&gt;Create&lt;/b&gt;&amp;quot; qui copieront toutes les clés contenues de cette sous-clé vers HKCU. De la même façon, des sous-clé &amp;quot;&lt;strong&gt;Delete&lt;/strong&gt;&amp;quot; effaceront toutes les clés correspondantes dans l’arborescence HKCU &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pour être concret, prenons l’exemple suivant :&lt;/p&gt;  &lt;table&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="border-bottom: 1px dotted; border-left: 1px dotted; border-top: 1px dotted; border-right: 1px dotted" bgcolor="#e1eaff" bordercolor="#000080"&gt;         &lt;p&gt;&lt;font face="Courier New"&gt;Windows Registry Editor Version 5.00 &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#008000"&gt;; Installation                &lt;br /&gt;; Utilisation de la fonctionnalité Office 2007 de propagation des clés HKLM vers HKCU                 &lt;br /&gt;; Exemple pour afficher le ruban developpeur Office&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation]              &lt;br /&gt;&amp;quot;Count&amp;quot;=dword:00000001               &lt;br /&gt;&lt;font color="#008000"&gt;; &amp;quot;MaPropagation&amp;quot; est le code donnée à mon exemple                &lt;br /&gt;; &amp;quot;Count&amp;quot; est notre compteur qui sera propagé dans                 &lt;br /&gt;; &amp;quot;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\User Settings\MaPropagation&amp;quot;&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation\Create&lt;strong&gt;\Software\Microsoft\Office\12.0\Common\General&lt;/strong&gt;]               &lt;br /&gt;&amp;quot;DeveloperTools&amp;quot;=dword:00000001               &lt;br /&gt;&lt;font color="#008000"&gt;; Nous créons le dword &amp;quot;DeveloperTools&amp;quot; avec la valeur 1 dans                &lt;br /&gt;; &amp;quot;HKEY_CURRENT_USER\&lt;strong&gt;Software\Microsoft\Office\12.0\Common\General&lt;/strong&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Détaillons :&lt;/p&gt;  &lt;p&gt;Nous mettons dans la base de registre le dword &amp;quot;Count&amp;quot; = 1 dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation. &amp;quot;MaPropagation&amp;quot; est le nom que j’ai choisi pour&amp;#160; cet exemple.&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PropagationdeclsOffice2007deHKLMversHKCU_9A4B/image_30.png" width="544" height="261" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lorsque qu’Office va se lancer, il effectue un parcours de toutes les clés contenues dans &amp;quot;&lt;strong&gt;HKEY_LOCAL_MACHINE&lt;/strong&gt;\SOFTWARE\Microsoft\Office\12.0\User Settings&amp;quot;. Pour chaque clé, il va vérifier si la même clé existe dans &amp;quot;&lt;strong&gt;HKEY_CURRENT_USER&lt;/strong&gt;\Software\Microsoft\Office\12.0\User Settings&amp;quot;. Dans notre exemple,&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Si la clé &amp;quot;MaPropagation&amp;quot; n’existe pas. La clé est créée avec le compteur et la propagation est faite &lt;/li&gt;    &lt;li&gt;Si la clé &amp;quot;MaPropagation&amp;quot; existe, le compteur est vérifié et la propagation est faite que si la valeur du compteur est différent de celle contenu dans &amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation&amp;quot;. &lt;/li&gt; &lt;/ul&gt; &lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PropagationdeclsOffice2007deHKLMversHKCU_9A4B/image_27.png" width="544" height="261" /&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Cette vérification (de la valeur du compteur) permet de ne pas refaire indéfiniment la propagation à chaque lancement d’Office ! Justement, je pense que vous aurez compris que pour refaire un propagation qui modifiera ou supprimera des clés, nous devons modifier le compteur de &amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Au final, en quoi consiste cette fameuse propagation ? Très simplement :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Les clés contenues dans &amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation\&lt;strong&gt;Create&lt;/strong&gt;&amp;quot; sont ajoutées/modifiées de &amp;quot;HKEY_CURRENT_USER&amp;quot; &lt;/li&gt;    &lt;li&gt;Les clés contenues dans &amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\MaPropagation\&lt;strong&gt;Delete&lt;/strong&gt;&amp;quot; sont supprimées de &amp;quot;HKEY_CURRENT_USER&amp;quot; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Dans notre exemple, nous créons le dword &amp;quot;DeveloperTools&amp;quot; dans &amp;quot;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Sans titre" border="0" alt="Sans titre" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PropagationdeclsOffice2007deHKLMversHKCU_9A4B/Sans%20titre_3.png" width="544" height="261" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PropagationdeclsOffice2007deHKLMversHKCU_9A4B/image_12.png" width="544" height="299" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Pour résumé, avant tout lancement d’Office, seules les clés HKLM sont présentes. Lorsque un utilisateur lance Office, le mécanisme de propagation opère. C’est donc comme ceci que l’on peut déployer un Add-In VSTO 3 pour tous les utilisateurs Office 2007 (même ceux qui n’ont pas encore de profil dans la base de registre)&lt;/p&gt;  &lt;p&gt;A titre d’exemple, voici les .REG qui permettent d’afficher/masquer le ruban développeur Office 2007    &lt;br /&gt;&lt;a title="SB-AjoutDeveloperToolsDansOffice2007PourTousLesUtilisateurs.zip" href="http://sebastien.bovo.fr/BlogFiles/SB-AjoutDeveloperToolsDansOffice2007PourTousLesUtilisateurs.zip"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SB-Installation-AjoutDeveloperToolsDansOffice2007PourTousLesUtilisateurs.reg" border="0" alt="SB-Installation-AjoutDeveloperToolsDansOffice2007PourTousLesUtilisateurs.reg" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PropagationdeclsOffice2007deHKLMversHKCU_9A4B/Fichier_3.png" width="50" height="51" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Bye,&lt;/p&gt;  &lt;p&gt;Sebastien.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9823657" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sbovo/archive/tags/.NET+Fx+3.5/default.aspx">.NET Fx 3.5</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>Session OpenXML et VSTO aux TechDays2009 - PPTX et démonstrations</title><link>http://blogs.msdn.com/sbovo/archive/2009/02/23/session-openxml-et-vsto-aux-techdays2009-pptx-et-d-monstrations.aspx</link><pubDate>Mon, 23 Feb 2009 10:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9440559</guid><dc:creator>Sebastien Bovo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sbovo/comments/9440559.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sbovo/commentrss.aspx?PostID=9440559</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sbovo/rsscomments.aspx?PostID=9440559</wfw:comment><description>&lt;p&gt;Bonjour à tous,&lt;/p&gt;  &lt;p&gt;Je profite de ce billet pour vous donner le lien vers la présentation et les démonstrations de la session au travers du blog de Julien Chable :&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.developpeur.org/neodante/archive/2009/02/14/open-xml-diapositives-et-codes-de-la-session-pos-206-sur-open-xml-et-vsto.aspx" href="http://blogs.developpeur.org/neodante/archive/2009/02/14/open-xml-diapositives-et-codes-de-la-session-pos-206-sur-open-xml-et-vsto.aspx"&gt;http://blogs.developpeur.org/neodante/archive/2009/02/14/open-xml-diapositives-et-codes-de-la-session-pos-206-sur-open-xml-et-vsto.aspx&lt;/a&gt; - Blog à garder sous le coude pour être au courant de ce qui se passe autour d’OpenXML ! Merci Julien.&lt;/p&gt;  &lt;p&gt;A bientôt,&lt;/p&gt;  &lt;p&gt;Sebastien.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9440559" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sbovo/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/.NET+Fx+3.5/default.aspx">.NET Fx 3.5</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/OpenXML/default.aspx">OpenXML</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/Techdays/default.aspx">Techdays</category></item><item><title>Manipuler les fichiers Office 2007 avec Open XML et le .NET Framework 3.5</title><link>http://blogs.msdn.com/sbovo/archive/2008/08/29/manipuler-les-fichier-excel-2007-avec-open-xml-et-le-net-framework-3-5.aspx</link><pubDate>Fri, 29 Aug 2008 09:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8903162</guid><dc:creator>Sebastien Bovo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sbovo/comments/8903162.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sbovo/commentrss.aspx?PostID=8903162</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sbovo/rsscomments.aspx?PostID=8903162</wfw:comment><description>&lt;P&gt;Le nouveau format des fichiers Word, Excel et Powerpoint 2007 est Open XML. Le .NET Framework 3.5 permet de travailler directement avec ce format grâce à l’espace de nom System.IO.Packaging. &lt;/P&gt;
&lt;P&gt;Pour faciliter le travail de développement, Microsoft fournit « Open XML Format SDK ». Il s’agit d’une libraire construite sur System.IO.Packaging permettant de créer/manipuler/modifier les fichiers avec des classes de haut niveau et typées. C’est une première version. Une seconde version, beaucoup plus riche en termes de fonctionnalités, est prévue.&lt;/P&gt;
&lt;P&gt;Il est à noter que pour les applications serveurs, la manipulation des fichiers se fait sans avoir Office installé.&lt;/P&gt;
&lt;P&gt;Librairie en ligne : « Welcome to the Open XML Format SDK 1.0 » - &lt;A href="http://msdn.microsoft.com/en-us/library/bb448854.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb448854.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb448854.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Téléchargement du SDK (documentation et libraire : DocumentFormat.OpenXml.dll) - &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Voici des exemples concrets sous forme de pas à pas:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Manipulating Excel 2007 and PowerPoint 2007 Files with the Open XML Object Model (Part 1 of 2) - &lt;A href="http://msdn.microsoft.com/en-us/library/bb739834.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb739834.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb739834.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Manipulating Excel 2007 and PowerPoint 2007 Files with the Open XML Object Model (Part 2 of 2) - &lt;A href="http://msdn.microsoft.com/en-us/library/bb727373.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb727373.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb727373.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Manipulating Word 2007 Files with the Open XML Format API (Part 1 of 3) - &lt;A href="http://msdn.microsoft.com/en-us/library/bb656295.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb656295.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb656295.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Manipulating Word 2007 Files with the Open XML Format APIl (Part 2 of 3) - &lt;A href="http://msdn.microsoft.com/en-us/library/bb739835.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb739835.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb739835.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Manipulating Word 2007 Files with the Open XML Format APIl (Part 3 of 3) - &lt;A href="http://msdn.microsoft.com/en-us/library/bb727374.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb727374.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb727374.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Points d’entrée sur Open XML et le travail avec les fichiers Office 2007 :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;XML in Office Developer Portal - &lt;A href="http://msdn.microsoft.com/en-us/office/aa905545.aspx" mce_href="http://msdn.microsoft.com/en-us/office/aa905545.aspx"&gt;http://msdn.microsoft.com/en-us/office/aa905545.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;XML for the 2007 Office System Resource Center - &lt;A href="http://msdn.microsoft.com/en-us/office/aa905549.aspx" mce_href="http://msdn.microsoft.com/en-us/office/aa905549.aspx"&gt;http://msdn.microsoft.com/en-us/office/aa905549.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Welcome to the Open XML Developer Workshop - &lt;A href="http://msdn.microsoft.com/en-us/office/bb738430.aspx" mce_href="http://msdn.microsoft.com/en-us/office/bb738430.aspx"&gt;http://msdn.microsoft.com/en-us/office/bb738430.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Portail développement Open XML - &lt;A href="http://openxmldeveloper.com/" mce_href="http://openxmldeveloper.com/"&gt;http://openxmldeveloper.com/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Bon développement !&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8903162" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sbovo/archive/tags/.NET+Fx+3.5/default.aspx">.NET Fx 3.5</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/sbovo/archive/tags/OpenXML/default.aspx">OpenXML</category></item></channel></rss>