Microsoft Certified Trainer

Les Blogs des pôtes

Frk sound
Christelle

A propos de moi

Je m'apelle Lionel Limozin. Je suis actuellement consultant chez Bewise. Après des études en réseau, télécoms, programmation, multimédia, je commence dans la vie active en 2000 dans un startup Marseillaise. Très vite j'attaque avec les technologies Microsoft à bras le corps en programmant en C++ des services Web à base de composants COM et d'interface Isapi. Après quelques années, un passage chez SopraGroup, pas mal de missions en tout genre, dont beaucoup de developpement sous WSS et SharePoint, et MOSS, je décide de vraiment renforcer ma spécialité dans les domaines Microsoft en intégrant Bewise.

En avant pour la Bewise Day Conference 2010 !

A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.
Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, SharePoint, mais lance aussi la version 4 de son Framework .net, MVC 2, Azure, et bien d’autres choses.
BDC 2009
Je vous donne donc rendez-vous au stade Ernest Wallon, pour vous présenter nos expériences SharePoint, dans sa version 2007 et 2010.
Pour les inscriptions, rendez-vous sur le site officiel de la BDC 2010.

(0 commentaires)

La Suite...

Déploiement d’un addin VSTO avec clickonce, dans la vrai vie

Récemment j’ai eu à déployer un addin vsto sur un intranet via clickonce, en l’occurrence un serveur web IIS 6. J’ai rencontré 3 problématiques :
- Signer mon package clickonce avec un certificat valide plus longtemps qu’une année
- Comprendre pourquoi mon package généré sous Windows 7 ne s’installe pas correctement
- Comprendre pourquoi la mise à jour automatique ne fonctionnait pas

(0 commentaires)

La Suite...

Désinstallation custom pour Windows Mobile (CustomAction for Windows Mobile)

Les seuls projets d’installation pour Windows Mobile qui sont fournis par Visual Studio sont les projet “Smart Device CAB project”. Malheureusement pour les développeurs DotNet ce type de projets ne supporte pas les custom actions comme le font les projet MSI classiques pour les applications Desktop. Ces customs actions nous permette d’intervenir lors de l’installation et/ou de la désinstallation. Ma problématique pour Windows mobile, c’est que lors de la désinstallation de mon application, les fichiers de données utilisateurs crées par l’application empêche la suppression totale du répertoire de l’application. D’une part ce n’est pas “propre” et d’autre part mon application ne sera pas validée pour les règles du MarketPlace par exemple si je compte publier sur cette plateforme mon application. Heureusement, il est tout de même possible de personnaliser notre projet CAB en ajoutant une DLL faite en C++ natif qui va utiliser le SDK de Windows Mobile et proposer des méthodes appelées automatiquement par l’installeur ou le désinstalleur :

(0 commentaires)

La Suite...

Desactiver le context menu dans le webbrowser de WPF

J’avais eu le même problème il y a peu sur le navigateur de windows mobile… J’embarque dans un contrôle WPF le WebBrowser, et je veux empêcher les utilisateurs de l’application d’avoir accès au menu en clic droite. Alors là je commence à chercher les évènements sur le contrôle WebBrowser, et je constate que ContextMenu_Opening ne convient pas, et qu’il ne me reste que l’évènement “MessageHook” qui permet d’intercepter les messages win32. Alors là je cherche la valeur de WM_CONTEXTMENU et sur MSDN on me dit que c’est 0x7B. Et bien figurez vous que j’ai plein de messages qui arrivent, donc le hook fonctionne, mais pas de message avec la valeur 0x7B :( (faudra que j’investigue d’ailleurs) … Et bien pragmatisme oblige, il y a une solution bien plus simple !!! modifier un tout petit peu le html que je donne en contenu à ce contrôle pour y mettre ceci : <body  oncontextmenu="return false;"> et le tour est joué ! Comme quoi on cherche toujours trop compliqué :)

(0 commentaires)

La Suite...

shared_ptr ou comment éviter les fuites mémoires en C++ (3/3)

Pour finaliser plus proprement mon exemple de conversion d’un objet managé en pointeur natif void*, sans avoir à se soucier de la gestion de la destruction, j’ai donc “encapsulé” cette logique dans une classe template native. Cette classe, que j’ai nommé cli_ptr, va donc me permettre de :
- récupérer simplement un void* à partir d’une instance d’un objet managé,
- récupérer simplement une instance de cette classe à partir d’un void* (qui doit tout de même être à la base obtenue par la même mécanique du GChandle)
- récupérer simplement une instance de l’objet managé directement typé (d’où la classe template qui me permettra de prendre en charge le cast)
- tout ça sans jamais à avoir me poser la question de la gestion de la mémoire !

(0 commentaires)

La Suite...

shared_ptr ou comment éviter les fuites mémoires en C++ (part 2/3)

Dans ma série de mes découvertes sur les nouveautés de C++ avec Visual Studio 2008 (SP1) et 2010 j’ai décidé de vous faire un post supplémentaire sur le shared_ptr. En effet cette petite classe est bien sympathique et fourni des “mécaniques” pratiques notamment sur la destruction “personnalisée” de vos pointeurs.

(0 commentaires)

La Suite...

1
- 2 -
3
- 4 -