<?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]  : VSTO</title><link>http://blogs.msdn.com/sbovo/archive/tags/VSTO/default.aspx</link><description>Tags: VSTO</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>&lt;Pub&gt;Session OpenXML et VSTO aux TechDays2009&lt;/Pub&gt;</title><link>http://blogs.msdn.com/sbovo/archive/2009/01/21/pubspeakertechdays2009.aspx</link><pubDate>Wed, 21 Jan 2009 18:50:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9356595</guid><dc:creator>Sebastien Bovo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sbovo/comments/9356595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sbovo/commentrss.aspx?PostID=9356595</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sbovo/rsscomments.aspx?PostID=9356595</wfw:comment><description>&lt;p&gt;&lt;a title="Sebastien Bovo - speaker aux TechDays 2009" target="_blank" href="http://galilee.microsoft.fr/TechDays2009/Speaker.aspx?SpkID=1c6fbc19-b6c3-4afa-8196-a784fec91508"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" align="center"&gt;         &lt;p align="center"&gt;&lt;a title="Sebastien Bovo - speaker aux TechDays 2009" target="_blank" href="http://galilee.microsoft.fr/TechDays2009/Speaker.aspx?SpkID=1c6fbc19-b6c3-4afa-8196-a784fec91508"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Sebastien Bovo - speaker aux TechDays 2009" src="http://blogs.msdn.com/blogfiles/sbovo/WindowsLiveWriter/PubSpeakerTechDays2009_E2A6/tdspeakermsfv9_3.gif" width="180" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Bonjour,&lt;/p&gt;  &lt;p&gt;Si vous souhaitez d&amp;#233;couvrir comment vous pouvez cr&amp;#233;er, manipuler, modifier, assembler, formater tous vos documents Word, Excel, PowerPoint au format OpenXML,&lt;/p&gt;  &lt;p&gt;Si vous &amp;#234;tes int&amp;#233;ress&amp;#233; par faire ce travail facilement cot&amp;#233; serveur en profitant d'un mod&amp;#232;le objet haut niveau, performant et supportant la mont&amp;#233;e en charge,&lt;/p&gt;  &lt;p&gt;Et si, cerise sur le g&amp;#226;teau, vous souhaitez comprendre comment vous pouvez rendre vos documents intelligents en y int&amp;#233;grant des fonctionnalit&amp;#233;s m&amp;#233;tiers, et transformer &lt;strong&gt;O&lt;/strong&gt;ffice en &lt;strong&gt;B&lt;/strong&gt;usiness &lt;strong&gt;A&lt;/strong&gt;pplication,&lt;/p&gt;  &lt;p&gt;Alors...&lt;/p&gt;  &lt;p&gt;Cette session est pour vous ! - &lt;em&gt;&amp;quot;&lt;/em&gt;&lt;a target="_blank" href="http://galilee.microsoft.fr/TechDays2009/Session.aspx?CellID=b62171c1-c534-438c-a29e-e3d0a5bc0ec9"&gt;&lt;em&gt;G&amp;#233;n&amp;#233;ration de documents Office c&amp;#244;t&amp;#233; serveur avec OpenXML et VSTO&amp;#160; (POS206)&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A bient&amp;#244;t, sur les TechDays ;-)&lt;/p&gt;  &lt;p&gt;Sebastien.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9356595" 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/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></channel></rss>