<?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>Patrice Manac'h Web Log : Vista</title><link>http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx</link><description>Tags: Vista</description><dc:language>fr-FR</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Survivre à un écran bleu avec BitLocker</title><link>http://blogs.msdn.com/pmanach/archive/2009/03/11/survivre-un-cran-bleu-avec-bitlocker.aspx</link><pubDate>Wed, 11 Mar 2009 14:20:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9470370</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/9470370.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=9470370</wfw:commentRss><description>&lt;p&gt;J’ai un disque qui est crypté avec BitLocker (politique d’entreprise). Lorsque j’ai procédé au cryptage, parmi les options disponibles, j’ai choisi de sauvegarder la clé de secours sur un disque connecté en usb (le disque que j’utilise pour faire mes sauvegardes). Grossière erreur :(&lt;/p&gt;  &lt;p&gt;En effet, récemment, en arrivant au bureau, j’ai eu un joli écran bleu lors de l’ouverture de session (registry error). Je me dis, pas de problème, je boote en mode sans échec, je trouve quel service ou driver pose problème, je répare, et hop, plus de problème. Donc, je redémarre le poste, et comme il détecte qu’il s’est crashé, il me propose la liste des options de récupération. Je choisi “Mode sans échec” et là, j’ai un joli message qui m’indique que le disque étant crypté, il me faut fournir la clé de secours pour pouvoir démarrer dans l’un des modes sans échec. Clé qui est bien sur chez moi, à 60 km de là.&lt;/p&gt;  &lt;p&gt;j’ai réussi à m’en sortir avec pas mal de chance. Comme le plantage avait lieu lors de l’ouverture d’une session de domaine, j’ai parié sur le fait que cela devait être lié au démarrage d’un service, et que si j’arrivais à ouvrir “très vite” une session, j’aurais peut être le temps d’intervenir. J’ai donc bouté en mode normal, ouvert une session avec un compte local à la machine, et j’ai eu alors le temps de désactiver le cryptage du disque. Au redémarrage suivant, j’ai alors pu ouvrir en mode sans échec, et dans ce mode, j’ai restauré un point de restauration précédent.&lt;/p&gt;  &lt;p&gt;Après cette restauration, le poste était effectivement réparé, et j’ai alors pu remettre le cryptage en place.&lt;/p&gt;  &lt;p&gt;Moralité : sauvegardez votre clé de façon à ce qu’elle soit toujours facilement accessible (votre webmail par exemple). Et vive les points de restauration :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9470370" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Drivers ATI et Vista 64</title><link>http://blogs.msdn.com/pmanach/archive/2009/01/25/drivers-ati-et-vista-64.aspx</link><pubDate>Sun, 25 Jan 2009 12:06:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9374755</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/9374755.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=9374755</wfw:commentRss><description>&lt;p&gt;J’ai voulu installé les derniers drivers ATI, mais au lancement de l’outil, ce dernier s’est crashé bien comme il faut :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_6.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="139" alt="image" src="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_thumb_2.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Avant de passer à la suite, une mise en garde s’impose. A moins que vous n’ayez un problème (bug) censé être corrigé dans une version récente des drivers, ou que vous utilisiez un jeu ou un outil dont les performances sont explicitement améliorées par la mise à jour, remplacer vos drivers comporte plus de risque de se retrouver avec une machine bancale qu’autre chose. Et les manipulations suivantes étant un peu hardcore, si vous avez le moindre doute, ne tentez rien…&lt;/p&gt;  &lt;p&gt;Si vous êtes encore là…&lt;/p&gt;  &lt;p&gt;En recherchant sur le .Net, j’ai constaté que le problème était assez commun et provenait du fait que l’outil était lié à une version spécifique de librairies systèmes, pas forcément présente sur la machine. Parmi les différentes solutions, dont installer des hotfix, une a retenu mon attention : modifier manuellement la dépendance. Elle est un peu plus complexe mais ne nécessite aucune modification du système…&lt;/p&gt;  &lt;p&gt;Pour commencer, lancez l’installation. Elle va se planter et vous laisser un répertoire C:\ATI\SUPPORT\8-12_vista64_dd_72276\Bin64 (certains numéros peuvent changer). &lt;/p&gt;  &lt;p&gt;Chez certains personnes, la modification des fichiers manifest semble ne pas être nécessaire. Vous pouvez tester directement l’étape suivante et revenir ici en cas d’échec persistant.&lt;/p&gt;  &lt;p&gt;Dans ce répertoire, il va falloir modifier tous les fichiers MANIFEST (7 en tout). Avant de procéder aux modifications, commencez par rechercher quelles versions des dll&amp;#160; sont présentes sur votre machine. Pour cela, faîtes une recherche sur le répertoire Windows des tous les fichiers contenant dans le nom Microsoft.VC80 :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="197" alt="image" src="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_thumb.png" width="804" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ici, j’ai recherché une version commune pour les quatre fichiers référencés (ATL, CRT, MFC et MFCLOC). J’ai retenu la 8.0.50727.1833. Le résultat pourrait être différent chez vous…&lt;/p&gt;  &lt;p&gt;Ensuite, j’ai modifié tous les fichiers pour qu’ils référencient cette version. Par exemple, le contenu du fichier Microsoft.VC80.ATL.manifest devient :&lt;/p&gt;  &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;    &lt;br /&gt;&amp;lt;!-- Copyright © 1981-2001 Microsoft Corporation --&amp;gt;     &lt;br /&gt;&amp;lt;assembly xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot; manifestVersion=&amp;quot;1.0&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;noInheritable/&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;assemblyIdentity     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; type=&amp;quot;win32&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name=&amp;quot;Microsoft.VC80.ATL&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;version=&amp;quot;8.0.50727.1833&amp;quot;      &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; processorArchitecture=&amp;quot;amd64&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; publicKeyToken=&amp;quot;1fc8b3b9a1e18e3b&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; /&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;file name=&amp;quot;ATL80.dll&amp;quot;/&amp;gt;     &lt;br /&gt;&amp;lt;/assembly&amp;gt;&lt;/p&gt;  &lt;p&gt;Une fois les sept fichiers modifiés, lancez une ligne de commande en mode Administrateur :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="76" alt="image" src="http://blogs.msdn.com/blogfiles/pmanach/WindowsLiveWriter/DriversATIetVista64_8E1B/image_thumb_1.png" width="304" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Et allez dans le répertoire “C:\ATI\SUPPORT\8-12_vista64_dd_72276\Bin64”. Lancez la commande “ATISetup.exe –UNINSTALL –OUTPUT SCREEN” si vous avez déjà des drivers ATI. Et rebootez (l’outil doit supprimer des fichiers en cours d’utilisation, il a vraiment besoin de ce reboot). N’essayez pas d’enchaîner avec la commande suivante, si vous ne rebooter pas, il faudra recommencer de toute façon.&lt;/p&gt;  &lt;p&gt;Au reboot, attention aux yeux, c’est en mode VGA 800x600 que cela repart. Ouvrez la session, relancez une ligne de commande en mode administrateur et lancez “ATISetup.exe –INSTALL –OUTPUT SCREEN”. Après un dernier reboot, voila vos drivers à jour.&lt;/p&gt;  &lt;p&gt;Vous pouvez maintenant installer le centre de contrôle. Cette fois, pas besoin de modifier les fichiers manifest. Une fois le programme décompressé (oui, il plante aussi), ouvrez une ligne de commande en mode Administrateur, allez dans “C:\ATI\SUPPORT\8-12_vista32-64_ccc_lang2_72277\Bin64” et lancez “ATISetup.exe –INSTALL –OUTPUT SCREEN”. &lt;/p&gt;  &lt;p&gt;Quand à l’installation de l’utilitaire HydraVision, je vous laisse deviner ce qu’il faut faire :)&lt;/p&gt;  &lt;p&gt;Il faudra que je creuse à l’occasion pour comprendre pourquoi ATI livre ses utilitaires d’installation en les liant à une version spécifique de librairies C++…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9374755" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>CanonScan Toolbox et Vista 64</title><link>http://blogs.msdn.com/pmanach/archive/2009/01/17/canonscan-toolbox-et-vista-64.aspx</link><pubDate>Sat, 17 Jan 2009 12:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9335696</guid><dc:creator>pmanach</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/9335696.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=9335696</wfw:commentRss><description>&lt;P&gt;En voulant installer ce programme sur mon poste, je me suis retrouvé avec un message d'erreur de source e Twain invalide. C'est d'autant plus vexant que via d'autres programmes, le scanner marchait parfaitement bien (par WIA, je suppose). Ce n'est pas qu'il me serve souvent, mais je n'aime pas avoir un programme qui ne fonctionne pas sur mon poste :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Donc, petite rercherche sur le site de Canon France, je récupère la dernière version des logiciels SanGear et Toolbox, je réinstalle, reboote, et pas mieux. Quand j'ouvre le panneau de configuration de Toolbox, aucun scanner listé. Plutôt rageant.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Allez, une petite recherche Internet, et là, je tombe sur différents posts : twain ne fonctionne pas en mode 64 bits, il faut formater le disque système en fat32, etc En bref, rien de pertinent, et je reste poli au vu de certaines suggestions...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;A tout hasard, je vais sur le site de Canon US, et là, surprise, dans les drivers, un joli lien Twain Driver Vista 64. Ok, je télécharge les versions us du drivers et de toolbox, ainsi que l'utilitaire deldrv, pour nettoyer l'existant. Je réinstalle tout, je reboote, je lance Toolbox, le scanner est bien listé (joie), je lance un scan, et là, échec : unable to open Twain source.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Nouvelle recherche sur le web et cette fois, c'est plus concluant : il faut en fait rajouter le chemin du pilote Twain dans le path de la machine. En pratique, faîtes propriétés de l'ordinateur, paramètres systèmes avancés, variables d'envirronements (le bouton en bas de la boite de dialogue). Dans les variables systèmes, choisissez Path, Modifier, et ajouter à la fin ";%SYSTEMROOT%\twain_32\CNQ9950". Pensez à changer la dernière partie par le nom du répertoire contenant les drivers de votre scanner dans c:\windows\twain_32 (il peut y avoir plusieurs répertoires si vous avez aussi une webcam ou un appareil photo numérique). Fermer toutes les fenêtres que vous venez d'ouvrir et relancer Toolbox (pour qu'il prenne en compte la modification). Et là, enfin, tout marche :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Ouf, mais c'était bien compliqué pour un utilitaire comme celui là. Il est dommage que l'outil installant le driver ne fasse pas automatiquement cette modification du path...&lt;/P&gt;
&lt;P&gt;Bon scan en 64 bits :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9335696" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Canon 20D et Vista</title><link>http://blogs.msdn.com/pmanach/archive/2008/07/07/canon-20d-et-vista.aspx</link><pubDate>Mon, 07 Jul 2008 09:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8700569</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/8700569.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=8700569</wfw:commentRss><description>&lt;P&gt;J'ai eu récement à connecté un Canon 20D par USB à un portable sous Vista pour récupérer des photos. Et le résultat fut de prime abord assez frustrant : l'appareil n'apparaissait pas dans l'explorateur, et n'ayant pas de lecteur de cartes ou les CD de drivers de l'appareil, les photos me semblaient &amp;nbsp;hors d'atteinte :( &lt;/P&gt;
&lt;P&gt;Et autant dire que des recherches rapides sur Internet n'étaient guère encourageante : l'utilitaire EOS Utility y était souvent décrit comme le passage obligé pour regler le problème, mais ce dernier n'était pas présent sur le site du contructeur...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Mais une dernière recherche a fini par porter ses fruits : le menu du 20D propose une option Communication qui par défaut est réglée sur "Normal" mais peut prendre aussi la valeur "PTP". Or Vista communique avec les appareils photos via ce protocole. J'ai donc changé l'option et là, miracle : l'appareil était devenu visible dans l'explorateur. Seul "souci" restant : la carte était vue comme pleine, alors que ce n'était pas le cas. Mais comme tout le&amp;nbsp;reste a fonctionné normalement, ce n'était pas vraiment génant.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Dernier point : j'ai testé la connection aussi avec un portable sous Windows Server 64 bits, et cela a aussi fonctionné du premier coup. Cela devrait donc marcher avec toutes les déclinaisons de Vista :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8700569" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Visual Studio 2003, Vista et les Custom Actions</title><link>http://blogs.msdn.com/pmanach/archive/2007/12/31/visual-studio-2003-vista-et-les-custom-actions.aspx</link><pubDate>Mon, 31 Dec 2007 15:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6926940</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/6926940.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=6926940</wfw:commentRss><description>&lt;P&gt;toujours dans mes tests de compatibilité du Framework .Net 1.1 avec Vista (version 64 bits, qui plus est), je suis passé aux tests de projets de type setup. Je sais que VS2003 n'est pas supporté sous Vista, mais il faut parfois s'assurer que certains scénarios continuent de fonctionner. Et en l'occurence, le msi produit par VS ne devrait pas avoir de dépendance particulière à l'OS. Sauf que si :(&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Je ne parle pas d'une condition triviale dans le projet setup qui testerait que l'os est un XP (version 5.1) au lieu de tester toute version supérieure ou égale à 5.1 pour embarquer les versions 6 et plus dans la foulée.&amp;nbsp;Pour cela, si on a encore le projet, on peut changer le test. Et dans le cas contraire, on peut essayer de jouer avec les modes de compatiblités. Mais dans mon cas de figure, rien de tout cela :&amp;nbsp;lors de&amp;nbsp;l'installation de mon service via le msi généré, je me suis retrouvé avec un échec systématique et un erreur 11708 dans le journal d'événement sans information exploitable. Et&amp;nbsp;l'indice de&amp;nbsp;fiabilité de mon poste dégringolant à toute vitesse :(&lt;/P&gt;
&lt;P&gt;En fouillant un peu, je suis tombé sur l'article&amp;nbsp;suivant : &lt;A href="http://arnshea.spaces.live.com/blog/cns!32B8884142441255!220.entry" mce_href="http://arnshea.spaces.live.com/blog/cns!32B8884142441255!220.entry"&gt;http://arnshea.spaces.live.com/blog/cns!32B8884142441255!220.entry&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Il semble en fait que dans le msi généré par VS 2003, un&amp;nbsp;flag d'impersonification soit mal positionné au niveau des actions personalisées, ce qui passe&amp;nbsp;sans problème sous XP ou 2003, mais se fait toper par l'UAC sous Vista. A priori, ce problème concernairait aussi les msi généré par Visual Studio 2005 RTM. N'ayant plus que&amp;nbsp;des versions SP1+Vista fix, je n'ai pas pu faire le test. Par contre, j'ai testé les configurations suivantes :&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Intégration du manifest dans l'exécutable puis génération du MSI avec VS 2003. Contrairement à ce que laisse entendre l'article, il y a moyen d'automatiser l'opération (cf ThemeMe sur &lt;A href="http://www.msjogren.net/dotnet/eng/tools/" mce_href="http://www.msjogren.net/dotnet/eng/tools/"&gt;http://www.msjogren.net/dotnet/eng/tools/&lt;/A&gt;). Mais pas moyen de passer la protection DEP sous Vista 64 bits. Je suppose donc que cela doit marcher avec un Vista 32 bits mais comme j'ai besoin de toutes les configurations, cela ne me convient pas.&lt;/LI&gt;
&lt;LI&gt;Génération du msi avec un VS 2005+SP1+Vista fix (j'ai un doute sur l'utilité réelle de ce fix pour ce problème spécifique, mais passons). Victoire (de courte durée), le service s'installe bien sous Vista 64, les custom actions sont lancées (elles démarrent le service), et la désinstallation marche bien. Oui mais sur un XP 32 bits sans le Framework 2.0, une agaçante popup apparaît au lancement du msi :(&lt;/LI&gt;
&lt;LI&gt;Idem que précédement mais en modifiant la condition pour demander une v1.1 du Framework (avec ou sans support d'une version ultérieure). Cela marche bien sur mon XP, mais plante sur mon Vista. Grrr....&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Bon, je suppose que dans le dernier cas, en jouant avec Orca, on doit pouvoir faire sauter la dépendance, mais comme ce n'est pas automatisable, cela ne m'interesse pas. Autre solution, produire deux setup, un pour chaque plateforme. Les outils de télédistribution savent en général cibler des packages en fonction de variables comme l'OS, ce serait jouable. Mais cela ne me plaisait pas non plus.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Dernière solution, utiliser Wix. Cela ne m'enchantait pas trop car cela me semblait un peu "lourd". Mais comme on va l'intégrer à la prochaine version de VS, ce pouvait être l'occasion d'y jeter enfin un coup d'oeil.&amp;nbsp;Et c'était en fait un bel à priori : &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Je suis allé sur le site &lt;A href="http://wix.sourceforge.net/index.html" mce_href="http://wix.sourceforge.net/index.html"&gt;http://wix.sourceforge.net/index.html&lt;/A&gt;&amp;nbsp;récupérer le package (la V2).&lt;/LI&gt;
&lt;LI&gt;Je suis parti de l'exemple SampleFirst que j'ai&amp;nbsp;testé tel quel&lt;/LI&gt;
&lt;LI&gt;Puis je l'ai modifié pour référencer mon service, être par défaut en français (valeur 1036&amp;nbsp;pour les&amp;nbsp;tag Langages)&amp;nbsp;et cibler la plateforme x86 (tag Platforms='Intel' sur le noeud package).&lt;/LI&gt;
&lt;LI&gt;Et voila :)&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Pour référencer le service, j'ai ajouté le composant suivant :&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;Component&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='MainService'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Guid&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='04C7E6DD-A2C6-40B6-9069-083DC4A4BD2F'&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;File&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;LongName&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;src&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DiskId&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='1'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;ServiceInstall&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='Service1'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DisplayName&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='Service1'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='ownProcess'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Interactive&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='no'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Start&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='auto'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Vital&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='yes'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;ErrorControl&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='normal'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;ServiceControl&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='service1.exe'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='Service1'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Start&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='install'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Stop&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='both'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Remove&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='uninstall'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Wait&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='yes'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;Registry&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='Service1InstallDir'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Root&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='HKLM'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='Software\Company\Service1'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='InstallDir'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Action&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='write'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='string'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;='[INSTALLDIR]'&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;Component&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&amp;nbsp;avec en bonus pour mon test l'écriture d'une clé de registre. Au final :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Cela fonctionne bien sous XP 32 bits et Vista 64 bits.&lt;/LI&gt;
&lt;LI&gt;Plus de message d'alerte sur une dépendance à une version du Framework.&lt;/LI&gt;
&lt;LI&gt;Les custom actions ne servent plus à rien, le démarrage ou l'arrêt du service sont pris en charge par le msi généré par Wix.&lt;/LI&gt;
&lt;LI&gt;Et donc, lors d'une désinstallation,&amp;nbsp;plus de message d'alerte indiquant que certaines applications tournent encore et peuvent nécessiter un reboot.&lt;/LI&gt;
&lt;LI&gt;Les binaires et clés de registre vont bien au bon endroit (dans HKLM\Software ou HKLM\Software\Wow6432Node pour les clés de registres par exemple).&lt;/LI&gt;
&lt;LI&gt;En suivant le tutoriel et les exemples fournit sur le site de Wix, on a une solution qui marche en à peu près une heure. Ok, pour des tests complémentaires, des interfaces riches et ce genre de chose, c'est peut être plus couteux. Mais cela, ce ser pour une autre fois :)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;Bon, le besoin de déployer du .Net 1.1 sur plusieurs plate-formes ne doit pas être très courant mais si cela peut éviter quelques galères et heures perdues inutilement...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6926940" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Applications 32 bits et registre 64 bits, quelques points à savoir avant de s'arracher les cheveux </title><link>http://blogs.msdn.com/pmanach/archive/2007/12/29/applications-32-bits-et-registre-64-bits-quelques-points-savoir-avant-de-s-arracher-les-cheveux.aspx</link><pubDate>Sat, 29 Dec 2007 13:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6895796</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/6895796.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=6895796</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;J’étais tranquillement en train de tester une application .Net 1.1 sur un Vista 64 bits quand je suis tombé sur un point bloquant : mon application ne pouvait lire des clés dans la base de registre, clés que j’avais créé à la main avec regedit. Plutôt surpris, j’ai relancé regedit et vérifié&amp;nbsp;: mes clés étaient bien là.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;Un petit test rapide du bout de code incriminé avec Visual Studio 2005&amp;nbsp;: le même code arrive bien à lire les clés. Après avoir éliminé assez rapidement les questions de sécurité et de droits, j’en suis venu à me demander si ce n’était pas un problème de plate-forme. J’ai alors forcé la compilation de mon bout de code en mode x86 sous VS2005, et là, bingo&amp;nbsp;: les clés n’étaient plus visible. Après quelques tests de confirmation (x86, x64, AnyCPU), cela s’est confirmé.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;Après quelques recherches, je suis tombé sur ce post très intéressant&amp;nbsp;: &lt;/FONT&gt;&lt;A href="http://207.46.236.188/MSDN/ShowPost.aspx?PostID=2428227&amp;amp;SiteID=1"&gt;&lt;FONT size=3&gt;http://207.46.236.188/MSDN/ShowPost.aspx?PostID=2428227&amp;amp;SiteID=1&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;En particulier&amp;nbsp;: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;The rules are pretty straightforward:&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;.NET app compiled for "x86":&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;Always 32-bit&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;FONT size=3&gt;&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;On 32-bit &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;platforms, accesses 32-bit registry&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;On 64-bit platforms, accesses 32-bit registry (inside Wow6432Node)&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=square&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 108.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;64-bit registry inaccessible (without doing something weird)&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;.NET app compiled for "x64": &lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;Always 64 bit&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;On 32-bit platforms, won't run&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;On 64-bit platforms, accesses 64-bit registry (not inside Wow6432Node)&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=square&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 108.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;If you want to get to the 32-bit registry, you need to do something weird&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;.NET app compiled for "AnyCpu"&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;Either 32 or 64 bit depending on platform&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;On 32-bit platforms, accesses 32-bit registry&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;On 64-bit platforms, accesses 64-bit registry (not inside Wow6432Node)&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=square&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 10pt; COLOR: black; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 108.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;If you want to get to the 32-bit registry, you need to do something weird&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;"Something weird" technically requires passing a special flag to RegOpenKeyEx to obtain the alternate registry view.&amp;nbsp; .NET doesn't expose any function that will do this nicely, so you'd have to drop to p/invoke to get there.&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;EM&gt;Alternatively if you want to get to the 32-bit registry from a 64-bit/AnyCpu app, you can hardcode the "Wow6432Node" path in (since the 32 bit registry is visible from 64 bit, but not the reverse), but MS explicitly recommends against this.&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;En fait, l'utilisation de la fonction ReOpenKeyEx nécessite effectivement de faire du p/invoke en utilisant l'option KEY_WOW64_32KEY (0x200), voir &lt;A href="http://msdn2.microsoft.com/en-us/library/ms724878.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms724878.aspx&lt;/A&gt;. Et il faut repasser cette option à chaque ouverture de sous-clé, l'api repassant systématiquement en mode par défaut quelque soit le handle passé en paramètre.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;Le second cas marche aussi très bien en pratique, évite de faire appel à du p/invoke mais le fonctionnement n'est pas garanti à terme. L'idéal reste quand même d'avoir un setup qui cible la même plate-forme que l'application qu'elle installe (donc x86 si l'application a une dépendance à cette plate-forme, comme l'utilisation de SQL Ce 3.1) : les clés seront alors&amp;nbsp;automatiquement créées sous le noeud Wow6432Node et visibles par l'application comme étant directement sous HKLM\Software. Ce faisant, que l'application soient déployées sur un XP 32 bits, ou sur un Vista 32 ou 64 bits, il n'y a aucune "bidouille" à faire. Et lors des tests manuels, pendand le dev par exemple, il faut juste ne pas oublier de créer&amp;nbsp;les clés sous HKLM\Software\Wow6432Node sous peine de se poser beaucoup de questions :)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0.75pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-language: FR; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6895796" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Publication ClickOnce avec Vista</title><link>http://blogs.msdn.com/pmanach/archive/2006/12/06/publication-clickonce-avec-vista.aspx</link><pubDate>Tue, 05 Dec 2006 23:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1213570</guid><dc:creator>pmanach</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/1213570.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=1213570</wfw:commentRss><description>&lt;P&gt;Si vous cherchez à tester la fonction de publication de VS 2005 avec Vista, par d"faut, vous allez vous prendre des erreurs de sécurité et une erreur de librairie CAPICOM qui n'existe pas. Pour les erreurs de sécurité, il suffit de lancer VS en mode admin mais pour CAPICOM c'est un peu plus compliqué :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;installez le SDK Windows.&lt;/LI&gt;
&lt;LI&gt;Allez dans C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin.&lt;/LI&gt;
&lt;LI&gt;lancez regsvr32 capicom.dll&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Bon, ce n'était pas si compliqué que cela :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1213570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Booster Vista sur son portable</title><link>http://blogs.msdn.com/pmanach/archive/2006/11/12/booster-vista-sur-son-portable.aspx</link><pubDate>Sun, 12 Nov 2006 20:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1063610</guid><dc:creator>pmanach</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/1063610.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=1063610</wfw:commentRss><description>&lt;P&gt;J'ai en ce moment une machine dont le point faible est clairement le disuqe dur. Je ne l'ai pas encore démonté mais je ne serais pas surpris que ce soit un 4K tours/mn. Ce qui pour un poste de dev (Studio, SQL, VPC, etc) fait mal :(&lt;/P&gt;
&lt;P&gt;&amp;nbsp;La gestion de la priorité des IO dans Vista rendait la chose nettement plus utilisable que XP (ou tout autre OS par ailleurs), mais cela restait pénible. Jusqu'à ce que ce week-end, je teste sur un coup de tête l'insertion d'une sd card dans le port interne du portable. Vista m'a alors automatiquement proposé de l'utiliser en mode ReadyBoost, ce que j'ai accepté en octroyant le maximum possible (980 Mo pour une clé d'un Go). Et la différence est vraiment flagrante !&lt;/P&gt;
&lt;P&gt;Ce n'est pas que ce portable soit à genoux en CPU&amp;nbsp;(Centrino 1.8 GHz)&amp;nbsp;ou en mémoire (2 Go)&amp;nbsp;: la CPU est rarement au taquet et la mémoire physique utilisée&amp;nbsp;tourne entre 50 % et 100% selon que j'utilise ou pas des VPCs. Mais voila : il y avait en permanence&amp;nbsp;un sentiment de lenteur inexpliquable.&lt;/P&gt;
&lt;P&gt;Je me rends compte à postériori que le disque dur était vraiment le point faible de la configuration. Je vais essayer de le remplacer par un 7K2. Et la technologie ReadyBoost m'a en fait permis de dépasser ce problème : une bonne partie des IO qui pénalisait l'OS se fait maintenant sur la SD Card et l'accès disque est ce faisant "réservé" aux vrais besoins. C'est comme si j'avais fait un upgrade de mémoire. Pour un coup incomparable sur un portable : 2 Go de mémoire sur un portable coutent plusieurs centaines d'euros alors qu'une SD Card 1 Go rapide ou un clé 1 Go USB2 rapide tournent dans les 50 € (ReadyBoost compressant les données, la comparaison n'est pas déraisonnable).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Si vous avez un portable avec un port SD interne, faîtes le test avant d'investir, mais le résultat pourraît agréablement vous surprendre :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1063610" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Visual Studio US, Vista FR et les extensions pour .Net 3.0</title><link>http://blogs.msdn.com/pmanach/archive/2006/11/05/visual-studio-us-vista-fr-et-les-extensions-pour-net-3-0.aspx</link><pubDate>Sun, 05 Nov 2006 22:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:979695</guid><dc:creator>pmanach</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/979695.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=979695</wfw:commentRss><description>&lt;P&gt;Je sais que je cherche un peu les coups à vouloir faire fonctionner ensemble des logiciels beta dans des langues différentes mais pour l'instant, je m'en étais plutôt pas mal tiré. J'ai récement reconfiguré mon poste avec une version récente de Vista en français, j'ai installé Visual Studio en anglais et j'ai installé les extensions pour le Framework 3.0 (Cider, etc). Et là, la mauvaise surprise : en voulant créer un nouveau projet, je n'avais plus le choix que de créer un projet .Net 3.0 (WPF, WF, etc). Mais plus de projet librairie ou console. Hors, avant d'installer les extensions pour le Framework 3.0, j'avais eu l'occasion de constater que cela marchait.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;En creusant, je me suis rendu compte que les projets "classiques" étaient tous localisés (dans un répertoire dédié au code pays, ici le 1033) alors que les projets .Net 3.0 étaient dans des répertoires ne dépendant pas de la langue. J'ignore en quoi l'installation des extensions modifie le comportement standard de devenv mais le fait est qu'après, Studio ne permettaient plus que la création de projet non localisés (voir localisées en français mais je n'ai pas creusé).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;J'ai trouvé plusieurs solutions basées sur la recopie de fichiers dans des répertoires indépendant de la langue, dans un répertoire correspondant au français ou autre, mais la méthode la plus propre reste de lancer Visual Studio avec un paramètre permettant de fixer la langue : devenv.exe /LCID 1033&lt;/P&gt;
&lt;P&gt;Une fois le raccourci modifié, je peux de nouveau charger VS avec tous les projets standards et les projets spécifiques au Framework 3.0...&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=979695" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Support d’APS .Net 1.1 sous Vista</title><link>http://blogs.msdn.com/pmanach/archive/2006/06/05/617870.aspx</link><pubDate>Mon, 05 Jun 2006 13:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:617870</guid><dc:creator>pmanach</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/pmanach/comments/617870.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pmanach/commentrss.aspx?PostID=617870</wfw:commentRss><description>&lt;p&gt;Question récurrente s’il en est…
&lt;/p&gt;&lt;p&gt;Je suis tombé sur cet article sur le site &lt;a href="http://www.asp.net"&gt;www.asp.net&lt;/a&gt; : &lt;a href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=993"&gt;http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=993&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Ce nouveau site a l’air d’être une vrai mine d’or &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=617870" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pmanach/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/pmanach/archive/tags/Vista/default.aspx">Vista</category></item></channel></rss>