lundi 22 février 2016

ClickOnce et les bugs de io.FileLoadException et de localDB !

J'ai une méthode qui plante, sans entrer dedans, avec le message suivant :

An unhandled exception of type 'System.IO.FileLoadException' occurred in MonProgramme.exe

Additional information: Could not load file or assembly 'YouTrackSharp, Version=2.0.30.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

La méthode en question utilise un assembly particulier mais la classe était déjà instantiée...

J'ai lu que ce pouvait être un problème de Licence.  Effectivement, quand j'éfface et je réinstalle le YouTrackSharp et ses dépendances je vois que le JsonFx demande d'accepter une License...

Solution : il faut décocher "Sign the assembly" avec le certificat de Test créé automatiquement par VS.

Bref, NE PAS SIGNER UN ASSEMBLY SI UN PACKAGE NE L'EST PAS !!!

J'imagine qu'on peut aussi signer l'assembly fautive mais c'est plus compliqué (sauf si on veut vraiment signer notre application... article à suivre ;-)

Deuxième problème .net du jour !

Déployer un sqlLocalDb dans un clickonce .net 4.  L'application plante au démarrage car elle ne peut accéder à la BD.

context.Database.Initialize(false); // Dans Main() oblige à créer la bd si inexistante.

Visual Studio (même 2015) ne permet pas (simplement) de publier un bon LocalDB avec les "prerequisites" !  Maximum "SQL Server 2012 Express LocalDB".  Alors il faut dire au client d'installer lui-même le LocalDB 64BIT\SqlLocalDB.msi (2014, cliquer installer pour voir les différentes versions et dire au client d'essayer la 64 ou la 32).

Trucs de même:

Utiliser la console pour tester :
sqllocaldb info
pour voir les instances de "\\v11.0" et/ou "mssqllocaldb" (ne pas oublier double backslash car esc)

Et surtout, se connecter avec MS SQL Management Studio avec Windows Authentication
(LocalDb)\V11.0 ou (LocalDb)\mssqllocaldb

mercredi 13 janvier 2016

Sonicwall Global VPN Client et VirtualBox

Sur windows 10, toujours, j'ai eu la mauvaise surprise de briser mon "Dell SonicWALL Global VPN Client" après avoir installé Virtualbox et Vagrant.  Mais c'est les "Virtual Network Interfaces" de virtualbox qui ont scrappés la patente.

J'ai désinstallé le virtualbox.
Désinstallé le client vpn et passé l'outil de "ménage" de Dell "GVCUtil64.zip".
Essayé le 32 bit (GVCSetup32_4.9.4.0306_EN.exe) mais ça marche pas en windows 10 64 "Files are missing.  Try performing a repair of this program's installation." !
Se logger sur mySonicWall  pour avoir la dernière version GVCSetup64.exe 4.9.9 au lieu de 4.9.4 sur help.SonicWall.com

Mais rien ne fait, toujours des erreurs de :

  • (à la désinstallation) Warning: failed to find virtual adapter in installed devices list.  It may have already been uninstalled.
  • (à l'installation) SetupDiOpenDeviceInfo() failed - cannot disable the virtual adapter.  Last Error: 0xE0000201
  • SetupDiOpenDeviceInfo() failed - cannot update the virtual adapter connection name.  Last Error: 0xE0000201
  • Failed to find the virtual adapter in the registry.  The virtual adapter may not have sucessfully installed.  IP autoconfiguration will not be disabled for the virtual adapter.

  • (quant on tente d'activer la connection) X The connection "" requires the use of the sonicwall virtual adapter, however this adapter can not be found.  It may have been disabled or uninstalled.  Please check you network configuration.
Rien de spécial dans le log "dialog" à part qu'il ne trouve pas des registres mais surtout "Failed to find virtual adapter in installed devices list."

Et je ne sais pas comment remettre dans la liste ce virtual network !

Solution : installer C:\Program Files\Dell SonicWALL\Global VPN Client\SWVNIC\netSWVNIC.inf en faisant un right-click dessus !

Rien sur Google à ce propos !  Alors voilà !

(reste juste à voir si je vais pouvoir remettre mon virtualbox... to be continued !)

mercredi 26 août 2015

Boutons multimédia ne fonctionnent plus ?

Aye c'est la folie du bloggage !

Mes boutons previous/next ne fonctionnaient plus depuis l'installation de Windows 10...

(Le bouton "suivant" est ESSENTIEL avec Spotify pour moi !)

Mon clavier Dell multimedia (bien ordinaire) avait toujours bien fonctionné et, d'ailleurs, les boutons de volume marchaient bien encore !

Alors j'ai effacé les devices, cherché sans succès des updates au "HID Keyboard Device" (en passant HID c'est pour Human Interface Device).

Et finalement c'est en repartant (restart) le service "Humand Interface Device Service" que le problème c'est réglé par lui-même !


Référence à un forum où j'ai trouvé l'info !

UPDATE 1
Le problème est solutionné seulement quand la fenêtre de la liste des services est Focus !?!  Stay tuned...

UPDATE 2
J'ai tué les applications qui étaitent dans ma tray bar : skype, manictime, onedrive, chrome et un reboot plus tard tout semble revenu à la normale !  J'ai l'impression que la grosse update de Windo 10 (une demie heure et plein de reboot, you know...) y est pour quelque chose !

UPDATE 3 - 2016/06/09
Not really !  Voir update 1... et cherche une meilleure solution !!!  J'ai essayer d'effacer le clavier "Standard PS/2 Keyboard" et le "HID Keyboard Device" d'un coup que c'est la priorité ou un bug d'installation, mais il demande de rebooter et le réinstall dès qu'on est de retour.  Pas d'update possible non plus sur lui ou son frère qui est avec lui dans la section keyboard.

Mais découverte, les boutons multimédias fonctionnent quand le Device Manager (win+R devmgmt.msc) est ouvert. Bref, c'est le msc (Microsoft management console) qu'il aime !  C'est juste déplaisant d'avoir à faire alt+tab là-dessus pour skipper une toune !


Autre lien chez MS qui peut être utile.  À investiguer, ça parle de registres...

mardi 25 août 2015

Comment installer Windows 10 à partir d'un 8 illégal ?

J'ai un laptop Lenovo dont le disque dur a été remplacé par un SSD mais lors de la réinstallation j'ai installé la mauvaise version (Pro au lieu de home).

Sur cette machine il n'y a pas d'étiquette avec la clé du Windows. Il est enregistré dans le BIOS. Ça prend un product key viewer pour l'extraire.

Donc, pour passer à Windows 10, il faut réinstaller la bonne version de Windows 8 et c'est pas évident car quand on achète un PC, c'est très rare qu'on nous donne le CD de nos jours. Il y a une partition cachée sur le disque dur qui est accessible à partir de la procédure de recovery du BIOS ou de réinstallation dans Windows. J'ai déjà réussi à avoir une clé usb de la part du service à la clientèle (impecable) de Dell mais Lenovo charge un bon montant (70$ ?) même si encore sous garantie (service bof) !

Utilisez le Windows 8 media creation tool ! Eh oui, plus besoin de Torrent pirate et de hack, ce programme fournis par MS se charge de graver sur dvd ou clé usb le système d'exploitation (juste à choisir 64 ou 32 bits, et la version Home ou Pro).

Si vous n'avez pas extrait et noté votre clé avec le "key viewer", c'est pas grave, car elle n'est probablement pas bonne (elle est pour Windows 8 et on installe Windows 8.1) MS nous donne des clé temporaires pour l'installation. Une fois rendu dans le Windows, connecté au web, vous pourrez entrer votre "vieille" clé qui sera activée.

Ensuite appliquez les 100 000 mises à jour et à la fin l'icone de Windows 10 sera dans le tray. Vous devez absolument passer par cette étape pour créer l'ordinateur sur les serveur de MS. Par la suite vous pourrez utiliser le Windows 10 media creation tool pour réinstaller à partir de 0.

Windows 10 n'a plus de clé ! Si vous utilisez un "key viewer ce sera une clé générique, pareille à tout le monde... C'est sur les serveurs de Microsoft que les ordinateurs "actifs" sont enregistrés. Si on change une barette de ram ou un disque dur, pas de problèmes. Mais si vous changer le motherboard (carte mère) il se peut fort bien qu'il soit nécessaire d'appeler le service téléphonique d'activation. Si vous avez des détails sur ce processus, merci de donner des détails en commentaires :-)

Références
http://www.howtogeek.com/224342/how-to-clean-install-windows-10/

*Méchante job !  C'est beaucoup plus que 4 visses un ideapad z510 !

jeudi 31 janvier 2013

NetBeans 7 & Doctrine en debug

Je voulais simplement m'adresser à mon très large public à savoir si j'étais seul au monde à faire exploser NetBeans en débuggant des foreach imbriqués sur des collections d'entités Doctrine ? Fidèle à mon habitude, j'ai updaté à la toute nouvelle version 7.3 rc sans plus de succès. Message : java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Unknown Source) Symptômes; À chaque step (f8) on voit le compteur de mémoire monter de 30mo et chaque step devient de plus en plus laborieux (long). Solutions essayées : Je crois que c'est XDebug qui prend trop large alors j'ai mis dans php.ini xdebug.var_display_max_depth = 1 xdebug.var_display_max_children = 1 xdebug.var_display_max_data = 1 Ou netbeans qui a de la misère avec ses variables en debug. J'ai tout décocher dans les options de filtre. Help !

vendredi 17 août 2012

Mon japonais fonctionnel

Pour communiquer avec le personnel j'ai parfois besoin d'utiliser la langue de Yoko Ono.  Voici un petit bréviaire.


Mata shitaà demain
Matane shitaà bientôt
Yashibourilong time no see ! 
Mata(ne) (shita)à bientôt (demain)
SayonaraAdieu
Aligatou domoMerci
Ja mataà bientôt
mata a shitaà bientôt
Ohayo gozaimasuBonjour
Kon banwaBonsoir
Domo arigato gozaimasuMerci
KonichiwaBon après-midi
Otsu karesamaJe quitte le travaille
Anata wa biru waikagadesukaVeux-tu une bière
Shigoto de (gambate)au travail !
Itada kimasubon apétit
oo
oo




PS l'éditeur html de blogger pourrait avoir les Tables !

vendredi 4 mai 2012

Chroniques "Le saviez-vous ?"

Aidez-vous à aimer votre IDE préféré Visual Stustustudio (comme dirait Phil Collins).
Souvent à force de toucher à toute on vient qu'à oublier des détails le fun.

1 - les object initializers 
list.Add(new QuoteOptionViewModel { QuoteOptionId = 1 });
Tant pis pour les constructeurs !  C'est le pas de () qui me mêlait.

2 - Shift + Alt pour sélectioner à la verticale
3 - Ctrl + K + D pour formater sa page/code (doit devenir un réflexe)
4 - Ctrl + Shift + J que je me plait à appeler "contrôle magie" car en Chrome (le seul bon programme pour faire du Web) c'est l'interface de déboggage. MIEUX -> F12
5 - Ctrl + Shift + S (sauve tout) parce que des fois y'a des solutions à plusieurs "paliers" ;-) 6 - Le contraire de Ctrl + Z vous saviez que c'est Ctrl + Y ? 7 - Shift + F5 pour stopper le débugger
Outlining
6 - Ctrl + M + M collapse (rapetisse) une région/fonction
7 - Dans la même veine, Ctrl + M + L développe tout (car les régions sont souvent toutes fermées quand on ouvre un fichier.
Bookmark
8 - Ctrl + K + K mettre/enlever un bookmark
9 - Ctrl + K + P ou N pour previous/next pour se promener dans le code

En constante évolution, repassez-nous voir, faites nous vos suggestions !

lundi 16 janvier 2012

Test d'un grooveshark, wragh !

HIGHSCHOOL OF THE DEAD by Kishida Kyoudan & The Akeboshi on Grooveshark Amateurs de Zombies Japonais ?
Let's dance !

mercredi 28 septembre 2011

Mots de jeux...

"Des notes repères"

"Le cône d'encens"

...more to come...

Massive

Nouveau ORM sur github, très léger (surtout comparé à entity).
Un fichier de 500 lignes à ajouter à une solution.Net et pouf la magie des dynamic (Phil va pas aimer) et des var à l'oeuvre !  Aussi, "Rails approach in mind" (Martin va aimer ça).


Y'a des meta, des validations, du crud, y'a que les join qui sont difficiles supposément.

Référence à Hanselman qui l'a utilisé pour refaire son blog.

Autres tendances techno 2011

Node.js ?  Encore Scott H.  Écrire son site tout en JS !
Knockout Un js pour avoir du MVVM (intègre aussi le jquery-tmpl)

Des connaissances à acquérir...

C# de f# (ps y'a aussi une librarie js pour ça..)
http://csharpindepth.com/Articles/Chapter5/Closures.aspx


mardi 20 septembre 2011

Les problèmes du jour !


Problème Circulaire
Toutes les techniques du web ne fonctionnent pas (changer le scope de la navigation property, mettre une décoration ScriptIgnore au champ ddans la classe Meta associée)
A circular reference was detected while serializing an object of type 'ProjectMvc.Models.Model'.
(Et oui, ce sont des modèles de modèles)


Les postes Windows 7 des graphistes
Sont nouveaux à Visual Web Developer 2010 et demandent à la compile de projets (MVC) d'avoir SDK 7.0a


Warning    1    Task attempted to find "AL.exe" in two locations. 1) Under the "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" processor specific directory which is generated based on SdkToolsPath 2) The x86 specific directory under "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" which is specified by the SDKToolsPath property. You may be able to solve the problem by doing one of the following:  1) Set the "SDKToolsPath" property to the location of the Microsoft Windows SDK.

Error    2    Task could not find "AL.exe" using the SdkToolsPath "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed



"running msbuild fails to read sdktoolspath" - StackOverflow
Microsoft Windows SDK for Windows 7 and .NET Framework 4 (7.1 winsdk_web.exe) (marchae avec un xp et VWD installé du ISO)

"task could not find al.exe using the sdktoolspath" = copy al.exe from
C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\NETFX 4.0 Tools\
to
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

Yé (peut-être dans program files x64...)! (utiliser WindowsSdkVer.exe du folder setup pour prendre le bon)


Dans un serveur loin de chez vous
Un EntityDataSource avec OnInserted="ds_InsertedUpdated". Ça marche super bien local (as usual). Le point net est à 4 les deux. L'identity est là les deux...

var news = e.Entity as ProwebModel.News;
var newsId = news.NewsId;

[NullReferenceException: Object reference not set to an instance of an object.]







mercredi 8 juin 2011

Exchange likes it clear !

MailEnable standard 4.26 log : (taken with SmartSniff)

EHLO mail.gogogagagugu.qc.ca
250-proweb.ca [206.47.10.666], this server offers 5 extensions
250-AUTH LOGIN
250-SIZE 51200000
250-DSN
250-HELP
250 AUTH=LOGIN

If one of theses command doesn't appear (ex. 250-) microsoft exchange servers will stop the process and send a "#5.5.0 smtp;500 Non RFC-compliant response received" bounce mail to the outlook client (the sender).  I say ms-exchange but I succeed with some; but all the errors come from some of them.

Act II
But why did ME server could forget to write one command of the list ?
Because of the tech who try to hack ME registry to gives a feature (DSN "Delivery Status Notification Confirmations") to a demanding client.  But with missing values in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mail Enable\Mail Enable\Connectors\SMTP\Extensions\DSN registry key...


Conclusion/Moral
2 problem solved in 1 time !  
Next time, when something "seems" to affect nothing, remove all traces anyway !

jeudi 24 mars 2011

Microsoft cloue la porte

La prog est un sport dangereux et par chance Microsoft est là avec son papier bulle !

IE n'aime pas google map. Pas assez sécuritaire une apostrophe dans le src du iframe et/ou dans le link qui s'en suit.  
Il prompt une erreur : "Internet Explorer a modifié cette page pour empêcher le script de site à site" (testé dans ie6, ie7, ie8, ie9)


Après avoir retiré l'apostrophe du mal, pour ajouter l'insulte à l'injure, le logo Google map est "buggément" retiré et ce soir ... Faut le voir pour le croire !

Pour se venger, google map ralentit le débit de ce browser ! "Toujours en cours de chargement. Connexion lente? Utilisez le guide de dépannage ou du HTML de base." (tout allait bien dans Chrome...)



Dans le même ordre d'idée, .net 4 encode les Attributes.Add pour plus de sécurité (et oui, j'ai pigé ça dans Dora ;-) Moi qui aimait bien passer mes projets .net 2 à 4 plus vite que mon ombre, me voilà enchanté !

J'aime beaucoup les figures de style dans les posts ainsi que joutes verbales, ex :
"Nailing the doors of your house shut would improve the security of your house but it would make it unreasonably difficult to enter."




Pourquoi tester un site web après sa mise en ligne ? Les droits d'écriture, l'adresse smtp/email du formulaire, images ou fichiers manquants ou mal exportés (lire bug du ftp, bytes=0...). Il faut maintenant ajouter à ça les iframe google map en IE !

Citrix, mon ami

Juste une petite note pour vous dire de ne JAMAIS essayer de mettre un service web sur un web interface Citrix. C'est DANGEREUX ;-) Voir ici ce que wikipedia relate sur Citrix, section relationship with Microsoft ;-)

Y'a-t-il un lien à faire ici ? Je pense que oui ! Ici François Paradis qui vous dit, bonne nuit !


UPDATE 9/6/2011: ça fonctionne en mettant AUTH:UNPROTECTED_PAGES à 
/site/WebService.asmx et surtout [WebMethod(EnableSession = true)] à la méthode.

vendredi 4 mars 2011

À la demande !

Ce post est un rassamblement de liens intéressants :
jsfiddle pour montrer du code !


Une consultante en javascript nous parle de 1.5, et y'a de trucs le fun à savoir dans le bas de son blog comme http://jsfiddle.net/t8cAK/

Le fameux XHR !
Vous saviez que vous pouviez même exécuter un js script sur demande ?

La meilleure place en ville !  On se retrouve toujours au Encosia !  Il jongle avec .Net et jQuery ajax comme pas un. Templating, vsDoc, cdn, tout y passe.  Un de mes bug favoris.



Quelque chose d'étrange dans le voisinage

Traduction Babel Papa à mes amateurs de Ghostbusters, pour vous amener à cette mise en garde :
jquery.validate.js 1.7 n'est PAS (encore) compatible avec jquery 1.5.  On attends la 1.8 au lieu d'être aussi pressé que moi pour profiter de ses performances incroyables ex.
Les symptomes d'une mauvaise interaction sont :


Request URL:
http://localhost/monApplication/WebService.asmx/GetCategory?callback=jQuery15109079146014992148_1299293758541

Un paramètre mystère qui vient se greffer là sans explications, comme si on était en json pour je ne sais quoi.

Et le Accept du Request headers est à

Accept:
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Au lieu de application/json.

Pour matter ce minuscule caffard il a fallu appeler les démolisseurs et croyez moi, ça ressemblait à la salle de bal après l'intervention...

Joyeux codage !

vendredi 25 février 2011

Bug d'upload : IE strikes again !

Sur le site de Ben Nadel, que Philippe Du Bureau apprécie particulièrement....

Il faut faire attention lors d'un upload, enctype pour tout le monde MAIS encoding pour IE !

UPDATE: Juste si on le fabrique de toute pièce avec jQuery $("<form>").attr() !

PDF et Chrome ne font pas bon ménage !

Une avant-midi plus tard à essayer de tweaker mon browser favoris pour qu'il me laisse utiliser Adobe Reader au lieu de son PDF Viewer, conclusion : naah.


J'ai lu mille fois "tappe about:plugins"  dans l'"omnibar" (bar d'adresse de Chrome) mais rien de javascript.


Solutions essayées
- Changer le nom du pdf pour un autre mime similaire que JUSTE adobe gère comme un fdf ou un pdfxml ?  Non, fdf c'est juste des data et pdfxml ça prend un autre plugin pour le lire (mais l'idée du projet "mars" d'adobe est quand même cool, des pdf en xml, mais ils auraient donc du mettre ça dans leur nouveau Reader X).
- Encoder en swf flash : flexpaper en beau, populaire mais un peu contingenté dans les licenses (faut voir le logo).  Résultat : le pdf2swf converti tout comme il faut sauf les champs.
- Silverlight : oubli ça, trop commercial, pas fait pour ça.
- Meilleur guess : the code abode a un script de détection js.  Mais pas capable de savoir si le plugin est actif ou non (regardez, j'ai laissé un commentaire dans le bas, si il l'accepte un jour ;).


Solution retenue
Si Chrome == prends-en un autre !


Pourquoi ?
On a fait un formulaire PDF avec bouton lié à l'évènement "Send" qui permet de sauver et envoyer par le client courriel par défaut (vous voyez le genre).


Je sais, je sais on aurait du tout coder ça html mais c'est vraiment un gros questionnaire.


Le Viewer supporte les fonctionnalités de base comme voir le texte mais faut pas trop en demander.  Point positif, en constante évolution (j'ai lu quelque part que ce serait une feature d'une mouture à venir mais pas la 10, une autre plus loin...)


Conclusion
J'aime bien l'idée de Chrome d'éviter d'installer Flash et Reader et de mettre les fichiers dans un bac à sable (sandbox).  MAIS PAS DE NOUS FORCER À UTILISER LEUR PATENTE !
C'est bon juste dans 90% pourcents des cas.


Bonne soirée !