ThumbnailProvider and 64bit Operating Systems
I’ve been working on Explorer extensions for the software company I develop for, Cimatron/Gibbs. I first worked up a Preview Pane extension, and while the general code was easy enough to get working, extracting data from our files wasn’t as trivial as I would have liked due to the way that we pack the preview data, and that playing with byte arrays just isn’t all that fun in in C#, but it worked, and it looked good.
Management then wanted me to hook into the Vista & Windows 7 thumbnailing interface. I did some research and found a number of great articles on the net about using ThumbnailProvider and IInitializeWithStream. I even found a great blog with a easy step by step to get it working. GREAT, or so I thought. I spent a few days trying to figure out why my Explorer hook wasn’t loading. I was nearly pulling my hair out trying to get things working properly. At the end of last week I decided to throw a hail mary and sent an email to Ben, the author of the blog I had found. He was quite prompt in his reply and tried to help as much as he could. We narrowed it down to a 64 bit system issue and as he didn’t have a 64bit system to test this on, that was about as much as he could help me.
Last night, working late on some images for another project I was working on, I went to save the image from Photoshop to a bmp to compile it into an application. As I went browsing directories, I suddenly saw preview images for my files. WHAT?! Suddenly after a day of not working on the project at all and more or less shelving it for now, it starts to show life? Sort of.
After some deeper googling, I found that when I registered my assembly with RegASM, I did only half of the work. It turns out that there is also a 64bit version of RegASM that I needed to register my assembly against. I built the extension with the “Any CPU” setting and was able to register the assembly against both versions of RegASM and now I have wonderful thumbnails from within Explorer.
I know I’ve emailed him thanking him for his assistance in trying to help me debug this, but I’d like to publicly thank Ben for the time he took to help me with this issue.
Update: Earlier this afternoon I showed this project to a very successful reseller of ours from Japan. He was impressed with it and asked for a picture of it so that he could show it to his bosses and other people at his company, so I sent him off the email. As I was leaving the office at 5:30 I ran into my boss. She told me he was VERY impressed with the project, so much so that they were going to include it in their marketing materials for the upcoming release in Japan. That made me smile a little. Then she told me that after OUR sales team heard that THEIR sales team was going to use it in marketing materials, that OUR sales team was going to do something with it as well, possibly issuing a press release. Don’t get me wrong, I love the fact that my work in the company is valued, but it just feels kind of weird when a project of mine that took a few days ( and only because of a 64bit issue ) is given this kind of attention compared to a project that took me nearly 6 months to complete, and was barely passed oven in release notes, let alone marketing material. I’m not complaining, it’s just odd what a Sales/Marketing team will latch on to and run with sometimes.
Moving, Moving In, Getting Settled, Deliveries, and Going Broke
9/11/2009 was more for me than just remembering 9/11/2001, but it was the day that my condo recorded and I got keys. I picked up my keys at 5:30pm and was told that the seller would have been out of the condo by 5pm. Well, that wasn’t quite the case. I pulled up and low and behold there’s some guy going up and down the stairs to my condo taking out box after box. I figured he was running just a bit late so Brooke and I went and got copies of the keys made and pick up some food. Turns out he was there until 7:30 getting stuff out. Brooke went up and talked to him for a bit and found out a bit about the neighborhood and why he was moving. He and a roommate lived there initially, but the roommate moved out when the owner got married and his wife started to live there. Apparently they stayed about a month or so and decided it was too small and went looking for a new place.
iCleanUp – Trial Version
While I finish up how I’m going to actually secure my software, I figured I could release a version that showed what it is capable of doing, without all the functionality ( it won’t actually clean up the files, but it will tell you what they are if you want to do it all by hand, that’s totally up to you, and in fact you could even do that from within iTunes currently ).
You can download the trial version here.
All the information from my post previewing the application is still valid. If you have any problems don’t hesitate to contact me at support AT ugfl DOT net.
Make SURE you are running the .NET 3.5 run-time. If you have Vista or Window 7 and have been keeping your OS up to date with Windows Update, you should be fine, but if you’re not sure, you can download it from Microsoft.
General Ramblings
Yes, I know my site has had more face lifts than Michael Jackson and Tina Turner combined, but I think I have finally come to liking this theme, though I think I need to replace the coffee cup with a can of diet coke or a water bottle. I don’t drink much coffee.
As from my post “Who Would Have Thought”, I had to make the drive out to Lancaster to get my divorce decree so that I could prove I don’t pay “the ex” a penny. I made the drive and got the paperwork without much incident, but just being out there reminded me why I moved:
There were some issues with the condo purchase due to the fact it appraised out lower than the asking price, but I was able to make thing work and things are still on track for a close on the 2nd week of September. On that note, the repair request I made came back. They agreed to fix the water heater, yay, but instead of putting the wiring in conduit, they decided to reply back that they would just remove the wiring…..wait…what? yah, REMOVE the wiring. OK, if it was just extension cords strung through the rafters I get that, but that’s not the case here. This would remove the working garage door opener as well. OH HELL NO! My relator didn’t know I hadn’t received this paperwork yet ( she got it on the 24th ), and had I not hounded her on the 27th for the second time about it, I wonder when I would have gotten it. That could have been bad new for me, or at least added aggravation.
My order from ThinkGeek.com arrived yesterday: 2 of the 6″ candles, 2 of the 4″ candles and 2 of the sun mason jars. The candles are pretty cool, but definitely require a bit more force to “blow out” than I expected. One of the candles doesn’t work when set to yellow but the blue option works fine. Looks like I get to test out the exchange system of ThinkGeek.
This weekend Brooke and I are going to see Inglourious Basterds, look for a washer and dryer set for my condo and just try to stay out of the heat. This is supposed to be one of the hotter weekends of the year so far, we’ve had a pretty comfortable summer up to this point.