I remember sitting with Kathleen Dollard at the regional MVP Summit in L.A. last fall while Ken Levy demo’d the then-NDA XML Tools for Whidbey. Kathleen (who is BIG on XSLT) was nearly peeing in her pants with excitement. She kept poking Don Kiely (sitting on her right) in the arm, giggling and jumping up and down in her seat. (sorry Kathleen, there was no NDA on your reaction!) Now we get to play with them in VS2005. Ken Levy points to a new whitepaper on the XML Dev Center. (I missed a week of blogs so thanks, Christa, for pointing that out.)
Category Archives: Tools
What’s new in Whidbey Browser: THANK YOU .Net2TheMax and Code Architects!
By way of Peter Provost, I found Code Architects’ and .NET2TheMax’s .NET Browser where they have highlighted new, changed and removed classes in Whidbey. Thank goodness someone has taken the time to do this. EVery time I look at the Whidbey help files, and see those bright red “new in .net 2.0” notes at the top of classes or their members I wish to heck that I could just SEARCH or FILTER the library on that phrase.
I have literally sat with two computers browsing through the help for 1.1 and the help for 2.0 so that I can find what’s new myself.
THANK YOU THANK YOU THANK YOU.
My little chat with Microsoft Speech Server
her ”Who would you like to talk to?”
me “Arin Goldberg”
her “Did you say Erin Goldfitter”
me “No”
her “okay. Can you say the name again?”
me “Arin Goldberg”
her “Thank you. I found someone named Aaron Goldstein, is that correct?”
me “No”
her “hmmm. Let’s try again. Who are you trying to reach?”
me “A-rin Gold-berg”
her “hmmm. I can’t find anyone by that name. What is the person’s email address?”
me “aring”
her “oh, are you looking for Arin Goldberg?”
me “yes”
her “just one minute, I’ll connect you”.
So this sounds really obnoxious, but it wasn’t actually. I was being helped by Microsoft speech server. I loved how the program kept rephrasing the question so that it sounded like I was REALLY talking to a real person who cared. Neat. I really have to learn to ennunciate better, though, I guess. (It’s not exactly the conversation, but how I best recollect it)
Make yourself a BOOT floppy disk!!
I just went through a nerve-wracking few hours after doing the latest Windows Update. After rebooting, well, attempting to reboot, all I got was a message that said “NTLDR Missing, Press CTRL-ALT-DEL”.
After some digging (and being thankful to have the calm Don Kiely here) it seems that because of a large pile of tmp files on my c: drive, it created a problem for the NTLDR file (NT Loader) that was exacerbated (look it up) by the update.
What I needed to do was delete the files and defrag the drive. But there was no apparent way to do this. I did (note now past tense) not have a boot drive for my new computer. If I booted up with a boot cd, it did not find my system drive. I needed my boot.ini to do this. You cannot copy files to removable media from the Repair Console, so I couldn’t attempt to create a boot drive from there. Rich’s machine had Win2000 and my laptop and tablet do not have floppies. My former laptop had a slot where I could put my cd rom or a floppy drive. For some reason I thought that it was for the current laptop and spent a lot of time looking for my floppy drive (thinking I had tucked it away someplace stupid when I moved last year).
Eventually, I found the instrux on microsoft.com/support for creating a win xp boot setup drive on a floppy disk and did this from the Win2000 machine while also recreating my boot.ini drive on that floppy. I will make a few of those now. So I booted right back into my system and will defrag tonight during dinner then deal with the missing boot file on my hard drive. But Don has headed back to Alaska and his last words out the door were “first thing I’m doing when I get home is make myself a boot disk!”
Security update for Acrobat Reader
Apparently there is a security hole (buffer overflow) in Adobe Acrobat Reader 6.0.1 for Windows. It is patched by the current 6.0.2 update you can get here. The security problem, according to someone in my user group, is much more serious than Adobe lets on on their website. This may be old news, but I had missed it until now.
new book – Beginning ASP.NET Databases: From Novice to Professional
This new Apress book by Dan Maharry and Damien Foggon looks like a great resource. It’s just gone to press so keep an eye out for it.
Cause of some “un-debuggable” errors in 3rd party components
I encountered an error when working with an Infragistics UltraWinGrid that I could not trap or debug. It was in using a dropdown in a cell, and the exception raised told me it could not update an invalid row. I spent over an hour trying to trap the error at its source so that I could fix it but was unable to.
Finally I discovered that this was actually an exception that is handled internally by the component, but because I had my debug Exceptions settings set to “break into the debugger” (for all exceptions) when an exception is thrown. When I set this back to “Continue”, I did not receive this error anymore.
I just spoke with someone who had the exact same problem (with the drop down in an Infra WInGrid). She too, had the exceptions turned to “break into the debugger” which was preventing the component from handling its error. As soon as she set this off, the exception disappeared.
Specifics on AppUpdater Component problems
I vented about my problems with the App Updater Compenent in this post last night. That’s not very constructive. In the effort of helping Erik Porter compile a more detailed how-to on using this component I am going to list some of the issues I was having.
1) I only want the app to check for an update when it gets started up. Not to constantly poll for an update. And the app needs to dynamically change the URL of the webserver. That is a key part of the app in finding it’s webservices and works just fine. But because of this, I have to change the url of the AutoUpdateComponent before it fires up. I set the AutoStart property for the poller to false and in my form load I change the UpdateURL property of the component, then test to see if there are changes (if CheckforUpdates=true) and if there are, call the DownLoadUpdate function. I went around in circles with this for a long time because something wasn’t working and I couldn’t figure out where.
2) I finally just bagged the dynamic url and the explicit download. I pointed to the ip of the internal webserver and let the component just do it’s auto thing itself. It failed becase when it was doing the deep file download (finding references out of the main exe to download) it kept looking for MyApp.resources.dll. There is no such thing. Since I do use a resource file in the app, I work with System.Resources. I can’t figre out why it didn’t know that this was in the system name space. I went through my code and explicitly typed in System.Resources.whatever anyplace I used those classes. This was the problem that finally made me give up.
3) I got bit by a wierd problem. I have WebDav on on my remote server. I edited the UpdateVersion.xml file over and over. I could open the file up and see the correct data. But it kept copying the default of that file to my local drive. finally I went over to the server and opened the file up and it was the default text in there! That wasted a few hours.
4) I have some dll’s that are dynamically loaded via reflection into the application. They are not referenced anywhere. So there is no part of the component that will discover and download them. I will have to write something manual to make them get pulled in because these are the things that are most likely to cause updates – as we will be adding more and more of those dll’s into the application.
I’m sure I could work all of this stuff out, but I really needed to move on with my work.
We could really benefit from this. We have many computers on the network use this app but will have more and more people out in the field using it as well. The app knows how to find the webserver on the internal network or to find it over the internet. So if the users of the offline mode could transparently receive updates to the application as well as the new modules at the same time that they are downloading or posting their data entry, it would be golden. And if I could remove those “Update App” scripts from the internal users desktops that would be nice as well.
App Updater Componenet woes
I think the app updater component (different from the app updater block) is great for helloworld apps. (I should say really, it’s great for more than that since it will also grab dependency files). But I spent all day trying to get it to work on something a little more complex and am now giving up.
This is the 3rd time in 2 years that I have spent countless hours trying to leverage smart client type auto updating from a webserver. And the 3rd time it has nearly driven me beyond the pale. I do not feel like spending another 3 days in newsgroups and on forums trying to get this to work so my client is going to have to live with their old-fashioned script updates on the network and ftp download and copy for those who are on the www. Still. Aaaargh!
disappointment with SQL Express Beta
If someone as smart and experienced as Sam Gentile has this much difficulty with the current SQL Express (BETA), imagine the poor user who is their actual target audience! Granted it’s a beta, but Sam is used to working with very early bits…
(update: Read Brian Randell’s response… and don’t miss the comment thread)