Access Denied While Using System.Diagnostics.Process
May 5, 2010
I am trying to use the unmanaged ImageMagick library in my ASP.NET application from the command line using System.Diagnostics.Process. Basically, users will upload an .eps file to the site, and then I will run the command line command to convert it into .jpg. This is the code I'm using to try and run the command:
Dim proc As New System.Diagnostics.Process
proc.StartInfo.RedirectStandardOutput = True
proc.StartInfo.RedirectStandardError = True
proc.StartInfo.FileName = "C:Program Files (x86)ImageMagick-6.6.1-Q16convert.exe"
proc.StartInfo.UseShellExecute = False
proc.StartInfo.Arguments = String.Format("{0} {1}", Server.MapPath("~/logo/test.eps"), _
Server.MapPath("~/certificates/temp/test-1234.jpg"))
proc.StartInfo.CreateNoWindow = True
proc.Start()
I am able to run this code just fine on our development Win 2k3 server, but not on our production Win 2k3 Server. I get the error "System.ComponentModel.Win32Exception: Access is denied". The main between the two servers is that the production is 64-bit and runs Plesk to manage multiple domains. I've tried adding rights asp.net user to the ImageMagick directory. The PS Admin says that in the case of Plesk, it's the same account that I use to access the site in VS using FPE. Does anyone know what I might do in order to allow this process to run on my production server?
If I watch the processes tab in Task Manager on the web server I see "cmd.exe" under the context of 'administrator' but it just hangs. For test purposes c:SendV80s.bat: copy c: oot.ini c:zzz.txt
If I logon onto the webserver's console and execute SendV80s.bat it works and exits without issue. But when I execute the same batch file via the Submit button it gets stuck executing in Task Manager/Process. I believe this has something to do with the fact that cmd is not running in a full environment/desktop context. I just noticed this on the actual console of the webserver (not in my RDP console but console 0 instead)
A pop-up box stating: CMD.exe Application error The application failed to initialize properly (0xc0000142). Click OK to terminate the application. And when I click on the OK button my ASPX page's WaitForExit is satisfied and the continues processing normally.
I keep receiving an exception with the message "Logon failure: unknown user name or bad password". Im absolutelly sure that i'm submiting my correct username/pwd
When I run System.Diagnostics.Process.Start from my console application it works but the same code when I run from my web service hosted in IIS doesn't work.
Is it some thing to do with ASP.Net privileges?? if yes how can I configure it from my C# code.
I can not run System.Diagnostics.Process.Start(@"wmplayer.exe") in code behind under IIS, - nothing happens, though I can do it successfully using Visual Studio ASP.NET Development server. I read topic http://support.microsoft.com/kb/555134 and made as recommended: 1) Made ASP.NET worker process run in SYSTEM account 2) Enabled IIS Admin Service to interact with desktop and rebooted serivce. - wmplayer.exe does not start, even its process does not start. I tried start notepad.exe and it partly works - process starts, I see only window frame, but not menu and can not interact with it. The other thing I tried is to put it under out-of-process (IIS virtual folder properties) and gave the process administrative rights (changed identity in Component Services): no result.
I have installed VS2008 on my development machine have winxp sp2 OS.i have created one aspx page where i have placed one button. On click of that button i want to open osk.exe(on screen keyboard). i an using following code
System.Diagnostics.Process.Start("osk.exe")i works fine there.Now for testing i deployed that application to testing server having Win7 OS and IIS7.0. It is not working there.
i just found that can not run System.Diagnostics.Process.Start if i set the identity impersonate="true", what can i do if i need to use System.Diagnostics.Process.Start to run my java application and need to set the identity tag?
Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
What is the right approach when users (authenticated domain admins) should be able to start batch jobs (usually exe files) from an IIS (7.x) aspx (c#) page? This is an intranet site. The batch jobs have to run on the web server as Domain Admins. The website pool is executed by network service or some similar restricted account in AD.
Approaches I can think of (and their disadvantages): 1. Start exe file with System.Diagnostics.Process.Start with another account. This feature is disabled in IIS 7.x, how do I allow it?
2. Create a sheduled task and call scheduled task-api. This unmanaged dll is giving VS compiler warnings because it's unsafe to call from managed code.
3. I suppose there's a better approach, because the previous suggestions doesn't appear safe or robust.
I'm developing and maintaining an ASP.NET web site.
The site is hosted at the 3rd party company running IIS6.
Recently the hosting service provider has setup an additional IIS server and moved part of the applications to this new server. This moment, my application is installed on both old and new servers.
Although the hosting provider claims that IIS configuration on the both servers is absolutely equal, I get the following exception on the new server, while on the old one everything works like a charm.
I'm a lowly DBA.I am supporting a web app that allows users to upload images (among other documents). The system is deployed and working and not having issues with the uploads. However, I upgraded my development box recently and since then I have been encountering an "access denied" issue. Initially I thought it was a simple security issue but now it seems it is more complex.
We have a Page Method on a web page using ASP .Net. We tried to put in a trace statement using both System.Diagnostics and System.Diagnostics.Debug. In Visual Studio 2008, the break point is not even hit for the line, but other break points on other lines are hit.There is no output from either method that we can see.
There is also a Global.asax error catcher that works fine in other cases, but in the Page Method is not being catched.why a Page Method and System.Diagnostics do not play well together?
I'm trying to write a text file form my web page, But every time I'm having this error System.IO.IOException: The process cannot access the file '.txt' because it is being used by another process. This is mode code for write file.
We recently migrated our ASP.NET 2.0 application to ASP.NET 4.0. It is running on Windows 2003 with IIS 6.0. After migrating, we have found that the ASP.NET 4.0 worker process w3wp.exe crashes intermittently with an 'Access Denied' exception. The stack trace of the exception does not point to any code written in our application. We are clueless as to what could be causing this. The worker process crashes when it makes a remoting call over http.
Event Type: Error Event Source: ASP.NET 4.0.30319.0 Event Category: None Event ID: 1325 Date: 2/22/2011 Time: 10:01:03 AM User: N/A Computer: SYS01 Description: An unhandled exception occurred and the process was terminated. Application ID: /LM/W3SVC/1/ROOT/Remoting Process ID: 4660 Exception: System.TypeInitializationException Message: The type initializer for 'ConvertClass_1' threw an exception. StackTrace: at ConvertClass_1.Finalize() InnerException: System.Management.ManagementException Message: Access denied StackTrace: at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObject.Initialize(Boolean getObject) at System.Management.ManagementClass.CreateInstance() at ConvertClass_1..cctor()
For more information, see Help and Support Center at [URL] We have tried options like giving permissions to ASPNET account in the WMI services under 'Component Services' but to no avail. Has anybody else faced this issue?
for example it just starts notepadn my development pc i'm using Win7 and when i deploy the app onto my local IIS7 it works and i can call notepadWhen i run debug mode with VS2010 it works too!
I have developed a ASP.NET C# web page which connects to remote conmputer command prompt using PSEXEC.exe and executes some command where the output of the command will get copied to the page. It works fine in the VS 2005 IDE.
If the page is accessed via IIS from IE, the task PSEXEC.EXE appears in task manager of the server with the system account privilege after the method is triggered but nothing happens.
find my present settings in IIS and others:
1. APP Pool Identity to Local System (Predefined) and also to a configurable admin account.
2. <processModel userName="SYSTEM" password="AutoGenerate" /> in Machine.Config file
Also I've tried impersonasation in web.config file to an admin account.
But i am getting the follwing exception: Access is denied. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Runtime.InteropServices.COMException: Access is denied
I am having 'Full permission' to E:Documents and Settings hiru.TECH27SYSTEMSLocal SettingsTemp IIS is not installed in my system. Visual studio is installed in E: My project is in D: what should i do?
In my web application i am using video conversion, i am getting error like System.ComponentModel.Win32Exception: Access is denied video conversion is working fine in localserver. when i upload in online it is giving error. error like.. Access is denied Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: ystem.ComponentModel.Win32Exception: Access is denied Source Error:
Line 76: ffmpeg.StartInfo.Arguments = " -i "" + video + "" -vframes 1 -ss 00:00:10 -s 150x150 -f image2 -vcodec mjpeg "" + thumb + """; // arguments ! Line 77: ffmpeg.StartInfo.FileName = Page.MapPath("FFMPEGffmpeg.exe"); //Page.MapPath("UserTrailorvideosffmpeg.exe"); //Page.MapPath(".") + "/ffmpeg.exe"; Line 78: ffmpeg.Start(); // start !
I've developed a popup email .aspx used on our intranet based web app that is auto generated with .pdf's attached. I'm developing with VS 2008 ASP.Net 3.5 C# and System.Net.Mail.MailMessage. I can create and send the email with no issues. The problem is with any attempt to open or delete the attachments I get the above error. The .pdf's a copied with the following code:
FileStream fsr = new FileStream(inFilename, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryReader reader = new BinaryReader(fsr); byte[] bytes = new byte[fsr.Length]; reader.Read(bytes, 0, bytes.Length); FileStream fsw = new FileStream(outFileName, FileMode.Create, FileAccess.Write, FileShare.Write); BinaryWriter writer = new BinaryWriter(fsw); writer.Write(bytes, 0, bytes.Length); // clean up writer.Flush(); writer.Close(); writer = null; fsw.Close(); fsw.Dispose(); fsw = null; reader.Close(); reader = null; fsr.Close(); fsr.Dispose(); fsr = null; Later after sending the email I: mailMessage.Dispose(); mailMessage = null; foreach (string fileName in attachments) { if (File.Exists(fileName)) File.Delete(fileName); }
The error occurs at: the File.Delete(fileName);
how I can delete or reopen these files after sending the email?
My code is that I want to create a log file and log it upon a new user browsing the site. However, what i did was I put in a 6 second delay and then used another browser to access the page. And it threw an Exception saying it is being used by another process which is true. So how come I set it so that, if IT is being used by another process, WAIT and retry every 500 milliseconds until it becomes free/available?
here's the code:
protected void Page_Load(object sender, EventArgs e) {if (!IsPostBack) // if this is the first time page loads, set k to 1 { lognewuser(); }}
I am having the text file which is used to track all the ip address which is available in the network and replace the content from"Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
For this task i am having 2 functions 1.runCMD() Function is used to create a file which ping all the ip address between 3 to 254 ("Reply from 172.29.116.3: bytes=32 time=1ms TTL=255").
2.Another function textFileReplace() which is used to replace the text from "Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
This process will continue every 30 minutes..
But i am having the error while accessing the function textFileReplace() as The process cannot access the file 'C:inetpub' because it is being used by another process.
I trying dotnetzip on localhost everything works fine.but on a real dotnet hosting it raises error :
Access to the path 'C:inetpubvhostslahblah.comsubdomains aporhttpdocsDotNetZip-luqevaxu.tmp' is denied. using (ZipFile zip = new ZipFile(Server.MapPath("~")+"/a.zip")) { zip.AddFile(Server.MapPath("~")+"/deneme.txt"); zip.Save(); }