Scott Hanselman

Adobe Acrobat 8 on Vista - The Temp Folder is on a Drive that is Full or is inaccessible and what is LocalLow

March 26, '07 Comments [17] Posted in Musings
Sponsored By

If you're going to put up an error message, try to make it one that the user can DO something about, and try to make it unambiguous. A good error message takes work, and error handling seems to be one of those things that gets worked on last.

A few weeks back I installed Tim Heuer's excellent Foxit PDF Preview Handler for Outlook 2007. Worked great. I had (fervently) lamented the slowness of Acrobat, and folks in the comments - including an Adobe employee - commented that Acrobat 8 was way better and way faster than before. I figured today I'd give Acrobat 8 a try on Vista since Ryan Gregg just released a PDF Preview Handler that uses Adobe's ActiveX SDK.

Acrobat 8 on Vista is supposed to be nice because you get Thumbnail support and Search-ability for PDFs. I fired up the installer and was greeted with this error:

The Temp Folder is a on Drive that is Full or is inaccessible

Certainly they could have figured out if the drive was full by asking the drive if it was full. Instead, this error says (basically) "something went wrong writing to a file, and I'm not sure what. Go ahead and see what you can do about it, user."

So what does user do? Well...

  • "Gosh! Is my hard drive full? How do I figure that out? Maybe My Computer:

    Nope, it's not full.
  • Permissions? Well, this is where Mom stops. How does she know where the Temp folder is? Heck, how does any user? I went to a command line and typed ECHO %TEMP% and was told C:\Users\Scott\AppData\Local\Temp, but it turns out that's not true! Acrobat (actually Netopsystem's Feed Squisher Installation Stuff) writes to C:\Users\Scott\AppData\LocalLow\Temp.
    LocalLow? What's that?
    Certainly I can either check the properties and permissions on that folder, or I can use icacls which tells me I do have permission:

    C:\>icacls \Users\scott\AppData\LocalLow
     \Users\scott\AppData\LocalLow ScottPC\Scott:(I)(OI)(CI)(F)
     NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
     BUILTIN\Administrators:(I)(OI)(CI)(F)
     Mandatory Label\Low Mandatory Level:(OI)(CI)(NW)

    As an aside, there's a great blog post on Vista and IL (Integrity Levels) over on Joanna's Invisible Things.

Adobe's installer is trying to be clever and it's first squishy installer unpacks the real MSI installed into a folder that installers that will be elevated don't have access to. This happens on machines, like mine, that have UAC (User Access Control) turned off. Then, after the unpack/install files the temporary files are deleted.

Solutions

  1. I can certainly try to grab the files by copying them out before I dismiss the dialog.
  2. I can turn UAC back on. Nah.
  3. I can also unpack the Setup Files from the Netopsystem's package myself manually via (someone remind me what Netopsystems is good for again? Are their files so small that they are worth this pain over ZIP? Or just the MSI itself? I've only ever seen their stuff in Acrobat.):

    AdbeRdr80_en_US.exe -nos_s -nos_ne -nos_oC:\Users\Scott\Desktop\AdobeReader8
  4. I can wait until this is fixed.

Adobe's known about this, surely, at least since December. Why isn't #4 an option here in late March?

Either way, I got Acrobat 8 install eventually and it IS faster and it works great with Ryan's Preview Handler. Now we can choose between either Acrobat or Foxit and have Preview Handlers for both. Huzzah!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Hanselminutes Podcast 56 - The Old New Thing with Raymond Chen

March 24, '07 Comments [1] Posted in Podcast | Programming
Sponsored By

My fifty-sixth podcast is up. In this episode I got to hang out with Raymond Chen, a Win32 Programmer on the Shell Team at Microsoft. He blogs at The Old New Thing, and recently turned the best of his blog posts into a really quite excellent book that I purchased with my own money and very much enjoyed, even though my name appears in the quotes section. I said that Raymond was the original raconteur of Windows, and meeting him in person just cemented the obvious. He's a fantastically funny and deeply technical person - two of my favorite qualities - and this podcast is the result of our meeting last week.

ACTION: Please vote for us on Podcast Alley! Digg us at Digg Podcasts!

Links from the Show

Raymond's The Old New Thing (mw4)
Raymond Chen's column in TechNet Magazine (mw5)
Amazon: The Old New Thing (mw6)

Subscribe: Feed-icon-16x16 Subscribe to my Podcast in iTunes

Do also remember the archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Our sponsors are Telerik and /n software.

Telerik is a new sponsor. Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

A Better Way for ClickOnce and FireFox

March 22, '07 Comments [6] Posted in ASP.NET
Sponsored By

I blogged a few years back about how I was disappointed that ClickOnce didn't work in FireFox, and about a year ago Saurabh (MSFT) wrote a response.

"There have been Plugins written by the FireFox community
[e.g.
http://www.softwarepunk.com/cohelper/] where they parse the application after it has been downloaded and read the deploymentProvider Url from it. They then use the undocumented Apis for invoking ClickOnce with the URL as a parameter [rundll32 dfshim.dll,ShOpenVerbApplication URL ]. I have never tried the approach above, but would believe it works.
From the ClickOnce teams perspective we would advise users against parsing the ClickOnce manifest and relying on its format for we could inadvertently break you in future manifest updates. Also since the <deploymentProvider> tag is only needed in Shell Visible installed ClickOnce applications this solution does not work for Online ClickOnce Apps.

For out next release we are looking into what we can do to provide a simple public way for the FireFox community to build plugins for ClickOnce support. Stay tuned ..."

I'm still waiting for direct XBrowser support, but I can report that FFClickOnce (James Dobson's Blog) totally works, with both online and offline apps. It makes ClickOnce work in your FireFox browser. There are a few other small add-ins that were attempts at making ClickOnce work, but James' is the most elegant and best tested, by far.

His documentation is impeccable and includes a testing section. It also scans automatically for .NET CLRs on your system and adds them to your FireFox UserAgent - a brilliant touch.

Here's what you see with Firefox 2.0.0.1:

Here's what you see in earlier versions of Firefox:

You can also turn this dialog off in the options for the Add-in and just run the ClickOnce apps directly without the interstitial.

I would encourage everyone who loves both FireFox and .NET to go get the FFClickOnce Extension now.

If you're working on a web application that has a ClickOnce component, I recommend that you include this extension as part of your strategy, and change your web page's flow to something like this:

  • User clicks the "Download Client" link...
  • If .NET CLR exists in the HTTP User-Agent header and it's version is greater than 2.0, issue an HTTP 302 redirect directly to your .application ClickOnce file. Done.
  • If the .NET CLR doesn't exist, redirect the user to a requirements page where they can download the .NET 2.0 runtime directly and then relaunch the application. Done.
    • On this page, if you detect they are running FireFox, link them to FFClickOnce as a prerequisite.

A flow like this will ensure that the user can click Download Client and it will Just Work. It works great for us.

You could also make a new publish.htm page (the static page that is generated when you publish a ClickOnce application, and write Firefox-specific JavaScript to list the installed extensions. This solution seems yucky to me, but would catch the obscure edge-case where the user has FFClickOnce install, but has modified their User-Agent string.

Thanks to James Dobson and Adam Greene for their (direct and indirect) help!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Google Internet Calendars and Outlook 2007 - The DST Fun Continues

March 21, '07 Comments [17] Posted in Musings
Sponsored By

OK, this isn't fun or funny any more.  I use the Outlook 2007 extensively. My whole life is in there.

My wife uses Google Calendar, and she has shared her calendar to me as an ICS file. I subscribe her her calendar in Outlook, and it appears as an additional calendar. In the screenshot at right, her calendar appears under Other Calendars. This has really helped us keep our life more organized.

Tomorrow we're going to look at a School for Z at 11am. In the ICS file from Google it says:

DTSTART;TZID=
America/Los_Angeles:20070322T110000
DTEND;TZID=
America/Los_Angeles:20070322T120000

That's pretty unambiguous. 11am to Noon. However, Outlook displays that appointment - seen at right - as occurring from Noon to 1pm. I would have missed it if I didn't know this.

I don't know if this is a Google thing, but I do know I'm not alone as others are reporting this problem and Google has updated some servers, but not others but is trying to fix something as reported on their Calendar Google Group.

This totally sucks. Even though we have updated all our Outlooks and all our Servers here at work, we're still seeing sporadic meeting problems, and most of us have just recreated all recurring meetings. I hope this gets fixed soon, either in Outlook, or on Google's side.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

SweetSpot - Web-Based Diabetes Management and ClickOnce

March 21, '07 Comments [13] Posted in Diabetes
Sponsored By

Here's a little teaser for those of you who are diabetic or who have diabetic family members. I've been chatting with a friend about his Rails-based venture, so I took a few hours this weekend and we got this working, round-trip and for real.

Here's a few choice keywords for you as a tease...ClickOnce, Mac Client also, any Glucose Meter (pluggable), Team-based Management of what's important to diabetics. Coming soon. Spread the word to your diabetic friends.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.