The Mystery of the Failed Live Meeting Launch
I've got to attend my first Microsoft Live Meeting in the morning, and since I'm remote I thought I'd just run the quick test of the Live Meeting Client before bed. You know, you visit a test page with your browser, and a Live Meeting client "jumps out" of the browser and connects. I've done it a million times before.
I open the Calendar Meeting, click, and...I get a dialog titled:
"RTC Router" - "The directory name is invalid"
Of course, I try it at least 10 times to make sure it's REALLY not working. You never know, it could work that 9th try, right?
OK. Now I'm getting tense. I need this to work, the LiveMeeting is in the morning. Um, reinstall, ok...just reinstall.
Microsoft has an internal website that you download all the corporate IT products you need for your regular job. I go back up in IE, am prompted for my Microsoft domain account and password (this machine isn't on the domain), find the right page, download the MSI and run the installation in place. OK. Whew. I go back open the Calendar Meeting, click, and...I still get a dialog titled:
"RTC Router" - "The directory name is invalid"
Crap. Ok, it's Procmon time. Who owns this dialog box? I give the dialog a good shake while Task Manager is open. That's a low-tech way of answering the Who's Process Is This question - grab a dialog with the mouse and shake it around the screen...the process that owns it will start using a little bit of CPU.
It's RunDll32.exe. That's a generic process that runs Procedures directly within DLLs. Basically a LoadLibrary()|GetProcAddress() command-line interface.
Now, I set the filters in Procmon to just watch two processes - iexplore.exe and rundll32.exe. I then reproduce the issue and watch the logs.
OK, looks like this is being called when I click the link in IE:
C:\Windows\system32\rundll32.exe "C:\Program Files (x86)\Common Files\Microsoft Shared\LiveMeeting Shared\RtcRouter.dll",RouteMIME %1
It's being launched because of the mime/type of the file being returned from the web server. The registry says that there's a .rtc and .rtc-ms extension of type "Microsoft.RTC.ConnectionFile."
The Set Associations Dialog in Vista confirms it.
So, this RunDll32 RtcRouter.dll action is the "Microsoft Office Live Meeting Router." RTC is probably Real Time Communication, but at this point I don't care.
Now, I reproduce the failure again and look for the "Live Meeting" string.
This run shows three things that are important. First the very top shows the writing to a log file called pwconsole-debug30.txt...it contains just this:
[MC] 08:55:50:031 GMT [PID 9228] [THREAD 4996] [I] RTCRouter - RouteMIME called
[MC] 08:55:50:033 GMT [PID 9228] [THREAD 4996] [W] RTCRouter - Inserting for HKLM - {69CEBEF8-52AA-4436-A3C9-684AF57B0307}
[MC] 08:55:50:042 GMT [PID 9228] [THREAD 4996] [W] RTCRouter - Using Target Product code : {69CEBEF8-52AA-4436-A3C9-684AF57B0307}
[MC] 08:55:50:043 GMT [PID 9228] [THREAD 4996] [E] RTCRouter - Error launching console
Ah, but the second thing in Procmon that jives with this long is the GUID which is apparently a Microsoft Installer Product Code leading to a Component which is the LiveMeeting Console.
Notice the Access Denied in reading the PWConsole.exe. Ok, so this is a permissions issue.
I head down into C:\Program Files (x86)\Microsoft Office\Live Meeting 8 and get ACCESS DENIED! What? I can't even go into my own folder? I JUST made this folder when I ran that installer.
Hm. OK, I'm Administrator, so I'm taking over ownership. I open an Administrator cmd.exe and from within that folder, run:
takeown /f "Live Meeting 8" /r /a
SUCCESS: The file (or folder) is now owned by user QUADPOWER\scott
That'll teach you. Now, I took ownership, but I still need permissions, so I go into Properties, Security, and I'm sure to go into Advanced|Edit|Edit and select "Replace all existing permissions" as I want to make sure I'm taking control of the entire directory and all files, not just one directory and forgetting to recurse.
NOTE: I'm just reporting my experience here, be careful when you do crazy stuff as Administrator and don't come to me when it all blows up for you. YMMV. Seriously.
I immediately notice something I didn't see before...the PWConsole NOW has an icon. I had a generic one before. AH. I've got permissions. And by I, I mean, explorer.exe.
Cool, now I go back into Outlook, click on the Live Meeting Test Link, and I'm in:
Conclusion
How did I get myself into this situation? Here's my working theory.
- When I’m remoted into Corporate authenticated as, say, MICROSOFT\mrscott on my home computer that
- doesn’t have a machine account
- and where MICROSOFT\mrscott is a temporary identity (it’s not admin, and it’s just hanging out launching some processes, and not others) and
- I run installations with that domain authenticated identity via direct launching from Internet Explorer
- THEN:
- those installations run as MICROSOFT\mrscott the whole time and regular LOCALMACHINE\scott can’t access them, resulting in chaos and confusion, directories and files created and owned by an account that isn't on this machine. Oh, and it results in blog posts like this.
Is this something others might be having trouble with and who should be told? Or, is this totally obvious and easily discoverable?
Of course! Just don’t run MSI installers launched directly from a Intranet website when you're domain authenticated against that site as someone who doesn't have administrator privileges on the local machine. <sarcasm>It's so obvious!</sarcasm> Well, actually, stated like that, it does make sense. I can't add my domain account as an Administrator on this machine without joining the box to the domain, which I don't want to do. So, I'll download my installers from the internal sites and then run them from now on.
Good night!
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.
About Newsletter
Then it happens with apps as well. I have an IconLib folder that the application itself made, and when it tries to read from it, waits for a long time before telling me it can't access it. I change it to everyone full control and solve it but sometimes it just switches back.
I believe in security, but I think sometimes Vista goes too far. And it is not consistent.
Great troubleshooting. I learned something today. :)
Given you can take ownership from a cmd line, can you also change permissions, recursively from there I wonder? That set of steps is always a convoluted series of check boxes and ok buttons!
nice post though - I love that you've documented the 'shake the window' process test, classic. How many machine revs though until we have enough CPU/GPU power that moving a window just isn't going to register in taskman?
Hm. OK, I'm Administrator, so I'm taking over ownership.
You mean your machine account (quadpower/scott) is an administrator account? Who owned the program before you took ownership with quadpower/scott? If you try to runas a non-admin account do you get the same error?
I'm interested because we do a lot of live remote demoing here, but we use Webex.
Installing an msi is one thing, but a lot of things on \\products are ... bigger (have you seen visual studio?), and heaven forbid you really try any internal dev work with this setup..
On the other hand, I love the gratification of solving such problems, and the process of it. But that gratification really depends on when excitment turns into stress because its taking too long. (or distracting you)
-Karl Prosser
Reminds me of the time I called my computer "Tsunami" back when I was in College. I had the most kickass computer on campus.
Also, nice bit of detective work...
Yep, the best way I know is using process monitor from SysIntern... er Microsoft. Use the window finder tool. Download here:
http://www.microsoft.com/technet/sysinternals
Comments are closed.