Adam Sills

Globeranger iMotion Edgeware Platform Weblog (mostly)

  Home  |   Contact  |   Syndication    |   Login
  12 Posts | 0 Stories | 2 Comments | 11 Trackbacks

News

Archives

Post Categories

Globeranger

Globeranger Coworkers

My Links

Since I originally posted this in July, I've gotten absolutely nowhere with Microsoft. I have, however, had a couple hundred google searches for things like “IE7 beta process.start error“. Since then my bug was closed, someone else reopened it, and I've found another similar bug where the IE7 beta and RC take over shell execute and deny programs from being launched.

Luckily for me, our workaround was to simply not use the shell (ShellExecute=false) but that definitely isn't an option for everyone.

UPDATE (9/7/2006):
Microsoft closed my bug without really looking at it. I got “not an IE problem“. Luckily, someone else has picked up the cause and resubmitted with a bit more information for me. If you are having this problem and want it fixed (because ShellExecute=false may not work for you), then go here and vote/validate the bug:
https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=180644

UPDATE 2 (9/18/2006):
Microsoft closed the new bug again without really looking at it. “Please see if it happens in Beta 3“ they said. Today I found another variation of what appears to be the same bug.
https://connect.microsoft.com/IE/feedback/viewfeedback.aspx?FeedbackID=202102

Their product feedback process is really a pain. And you can't call product support services on a beta product so you're stuck submitting feedback through a system where feedback gets ignored. GAH.

ORIGINAL:
So I've come across a real interesting side-effect of the IE7 Beta 3 install. A program running as SYSTEM under .NET 1.1 (either as a Windows service or as a scheduled task) cannot start a process using the Process.Start method. It fails with a Win32Exception (”Access is denied”).

A SYSTEM program gets an access denied error? That's an awfully strange effect of a browser update, don't you think? To get this sample program to run as SYSTEM, create a scheduled task and specify SYSTEM as the username (and don't enter a password). Then just right-click the scheduled task and select Execute.

Here's the simple code that fails when run under SYSTEM:

using System;

using System.Diagnostics;

using System.IO;

 

namespace NetUserIE7Tester {

      class Class1 {

            [STAThread]

            static void Main(string[] args) {

                  StreamWriter writer = new StreamWriter( "C:\\ie7netusertest.log", false, System.Text.Encoding.UTF8 );

                  ProcessStartInfo info;

 

                  try {

                        info = new ProcessStartInfo(Environment.SystemDirectory + "\\ipconfig.exe",

                              "/all");

                        info.WindowStyle = ProcessWindowStyle.Hidden;

                        Process.Start(info).WaitForExit();

                  }

                  catch( Exception ex ) {

                        writer.WriteLine( "Exception trying to IPconfig: " + ex.ToString() );

                  }

 

                  writer.WriteLine( "Finished" );

                  writer.Close();

            }

      }

}

 

Note that this is just sample code. It doesn't have to be IPCONFIG.exe, it can be ANY executable (in the case of my program, I'm using one of the NET.exe commands). If you run this program under any other user account (an account that can actually be logged in with) it executes perfectly.

If you're feeling frisky and want to try it out and it breaks on your IE7 Beta 3 install also (Windows XP, .NET 1.1, I haven't tried it on anything else), could you go to this IE7 bug and indicate that you can reproduce it?

https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=152600

posted on Monday, September 18, 2006 1:43 PM

Feedback

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs using Process.Start (part 2) 10/11/2006 11:25 AM Keith Mason
I just came across the same problem myself. Run a service as SYSTEM under IE7b3, and I get access denied when calling ShellExecute. Run it without IE7 installed, and it works.

I think this may be related to how in IE6, Windows Explorer and Internet Explorer are really the same program. While IE7 is installed, Windows Explorer gets orphaned. I think ShellExecute is part of the Windows Explorer library... So something wasn't done right when separating the two. It may not be an IE bug, but it is definitely a bug that IE aggravates.

I'd go to the URLs you reference, but I don't know how to register for permission to access it...

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs using Process.Start (part 2) 10/11/2006 12:49 PM Adam
Right, the "shell" ends up executing via some of the IE libraries. Microsoft has reported this issue as fixed in the final IE7 release. Their workaround is to modify a registry setting in the Security Zone portion of the registry (the Internet Zone I believe).

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs using Process.Start (part 2) 10/17/2006 12:17 PM Yo
I've got the same problem. I solved this issue by setting "ProcessStartInfo.UseShellExecute = false" i.g. info.UseShellExecute = false; .

"Microsoft has reported this issue as fixed in the final IE7 release." -> Could you post me the releated link? Thank you

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs using Process.Start (part 2) 10/17/2006 4:14 PM Adam
Just look a little further back in time here on this weblog:

http://geekswithblogs.net/adamsills/archive/2006/07/03/83948.aspx#FeedBack

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs using Process.Start (part 2) 10/17/2006 4:14 PM Adam
OR just look at my bugs linked to on Connect. They're all now listed as fixed.

# re: Unusual IE7b3 bug: SYSTEM applications cannot start programs iertutil.dll missing 5/21/2008 8:11 AM jerry alexander
Upon reboot of the computer you start getting lots of error messages with IERTUTIL.DLL. You are no longer able to use IE6, System Restore, Windows Search, Outlook (and express) and MS Money to name a few.

I get apoint.exe
sprtcmd.exe
tgccmd.exe

can not load because the iertutil.DLL is missing.

I tried to take Beta off my system and this happened.
Please help

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: