views:

116

answers:

2

I have a .NET library executing as part of our website that renders HTML to image formats. It uses the IE rendering engine, and will happily run any javascript if present to do the rendering.

To clarify. The code is rendering the HTML onto the server. No client is involved.

The problem is we just moved the code to a new server, and javascript seems to be disabled.

I tried changing (briefly the Application Pools Process Model Identity from NetworkService to LocalSystem, and that worked fine.

Hence it must be a permissions problem.

Another clarification: Everything works fine ALWAYS except for the javascript. In otherwords as long as no JS is in the HTML, we can pass the URL to the IE rendering engine and get back a bitmap. If JS is in the HTML the HTML is rendered as if JS was disabled UNLESS we are the pool identity = LocalSystem.)

So my questions are this:

1) What is the specific permission I need to set to allow the IE rendering engine to execute javascript, inside the IIS application pool?

2) What is the best way to enable that in my application pool? Do I just somehow set it in NetworkService, or create a new identify (how is that done?)

Thanks!

A: 

Hi,

I hope this URL will solve your issue...

http://www.west-wind.com/weblog/posts/98538.aspx http://forums.asp.net/t/1457574.aspx

VAC-Prabhu
Let me clarify a couple of things.1) It is doing the rendering just fine (i.e. it must be calling the IE engine okay). Its just that its acting as if js has been disabled UNLESS I change the identify to LocalSystem. So I don't think its the .exe file permission.2) This is just very simple js...we are not loading js files or anything like that. Just inline javascript.Again the basic problem could be described as the IE rendering engine (which works) is "acting" as if Javascript was turned off UNLESS the pool identify is changed to LocalSystem.Thanks for all the anwers so far...
Cat Mitch
A: 

I guess "uses the IE rendering engine" refers to "C:\Program Files\Internet Explorer\iexplorer.exe", therefore the application pool identity need to have execute access on this path.

If you want to grant rights for this, don't allow Network Service to do this. Create a specific identity (new local user for example) and give it access to run IIS Worker Process (IIS_WPG group on IIS 6).

JoeBilly