Web Forms :: Unable To Execute The Cmd Using Process.Start?
Apr 16, 2010
I am using asp.net 2005, and my deployement server is Windows Server 2003.
I am invoking a .bat (which executes some cmd) file from my asp.net page.
But the cmd prompt not getting invoked . the application is waiting for long time in Process.Start() and after some time i am getting asp.net time out error.
Note : a. Same application is working in another production server with windows 2003
b. i have checked with giving impersonation = true - It doesnt worked
c. I have checked with gsetting identity as 'Local System' , 'Local Server'in th eApplication pool of the IIS.
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.
Im deploying my website onto my new server (windows 2003) from my local pc (windows 7) and my local homeserver (windows 2008) and have run in to a issue.
I have a process that starts up with the below code. It is passed a video file which gets converted.
System.Diagnostics.ProcessStartInfo StartInfo = new System.Diagnostics.ProcessStartInfo(Command, Parameters);
Them problem I have is on my new windows 2003 server it fails to work. No error or anything. Looking at the server and its taskmgr.exe I see the Process start but nothing happens.
Looking into it, everyone seems to say I need to have impersonate="true" in the webconfig which I do have, I currently have it set to the Administrator account which I use to log into remote desktop (I assume this is fine???)
Unable to start debugging on the web server. The IIS worker process for the launched URL is not currently running.I'm running Windows 7 64 bit, VS 2008 sp1.When I first try to debug I get the error msg above. I wait a few minutes (presumably some service is starting) and debugging will start but no breakpoints are recognized.Some of the things I've tried:Changing the binding of my site from a static IP to "*".
Enabled windows authentication.made sure localhost = 127.0.0.1 in the hosts file.The website was built under windows xp and whatever version of IIS ships with xp. My web config has no errors that I know of but might be missing something required for iis 7 (??)
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 have seen this for a long time, and finally decided to put the question up here. I have some applications that I need to maintain that were written in Delphi 2007 for .NET (ASP.NET 2.0). Normally, the first time I run the application (using IIS) I get the classic "Unable to start debugging on the web server. Unable to attach to ASP.NET worker process" message. I simply press F9 (run) again, and it runs. Sometimes I have to try running several times before it will actually run. I am running Windows 7 64-bit (and have seen the same effect on Vista 64-bit). I do have IIS configured for ASP.NET, and I do have the following code in my Web.config file.
The point is that I eventually can run the application in the debugger, sometimes even on the first try. Many times when I get the failure it happens about 15 seconds or so after I press Run, sometimes even after I've hit a page or two (or three) of the Web app. And, yes, when Delphi gets into this mode, I can simply run without debugging, and all is fine (unless I really want to debug). And, I can just keep on trying to run in the debugger and eventually it will just work.
It appears that Delphi's .NET debugger is somehow getting the idea that the application cannot run, and then gives up and stops the process (which as I've mentioned is sometimes clearly running). I know of other developers who have also seen this behavior. My question is, does anyone know how to stop this annoying behavior?
suddenly, with my Visual Studio 2008 I can no longer debugging my web applications (ASP.NET 3.5). I obtain this error: Unable to start debugging on the web server. Click Help for more information. Auto-attach to process [8360] w3wp.exe' on machine 'DELL' failed. The weird thing is that I haven't done special changes to my IIS.
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
I'm going to precompile an asp.net application in my custom c# form. How do i retrieve the process logs and check whether it is a successful process or not?
There is a Web Service installed on Amazon Server. Exposed WebMethod should start an executable. But, it seems that process (executable) started by WebMethod has not permissions to finish its job. If a WebMethod is called locally (using IE on Amazon VM) I can trace some events into log file placed on the path: C:\LogFiles. But, if it is called from remote machine, there is no even log files. Locally, on my machine all works fine.The question: is there any way or settings in IIS7 to allow to my WebService to create process that can do everything I want to do? In web.config file I added a line:
<identity impersonate="true" userName="USERNAME" password="password"/> (userName and password are, of course, written correctly in the file).
Also, I tried to use impersonization as it is explained here, but there is no result. My process can't do its job, it cannot even trace actions into log file. Locally, on my machine, everything works fine. how to change settings or whatever into IIS7?
EDIT: In addition to the main question: my WebService is not able even to create log files on the path: C:\LogFiles - although it is able if it started locally, but remotely there is no simple log file that contains some string. How to allow it to create simple text files?
I have a web app that needs to start an application. It works great when using the debug server from VS2010 but once I deploy the web app and use the local IIS 7.5 server the application process starts in the background (no UI just a process visible in the task manager). The process is owned by DefaultAppPool. I Added DefaultAppPool user & IIS_IUSRS group to the program folder permissions but still no luck.I've found this old link on this problem but the solution doesn't apply to IIS 7.5.
I am running Visual Studio 2010 (as Admin), IIS 7 on Windows 7 x64. I am able to run the ASP.NET web site in IIS 7 without debugging just fine, but when I press F5 to debug it, I get: Unable to start debugging on the web server. Could not start ASP.NET debugging. More information may be available by starting the project without debugging. Unfortunately the help link is not helping me much and leads down a heck of a large tree of things. I checked the following:
Security requirements — I don't recall having to do anything special before. The worker process in IIS7 is w3wp.exe. It says that if it's running as ASPNET or NETWORK SERVICE I must have Administrator privileges to debug it. How do I find out if I need to change something here? Web site Property Pages > Start Options > Debuggers > ASP.NET is checked. Use custom server is set to the URL of the site (which works fine without debugging). Debugging is enabled in web.config. Application is using ASP.NET 3.5 (I want to move to 4.0 eventually but I have some migration to deal with). Application pool: Classing .NET AppPool (also tried DefaultAppPool). Surely it shouldn't be that hard to install IIS, VS, create a web site, and start testing it?
i am using a data list with link button in it that is dynamically populated by String list. i can get accurate path of the clicked link button from the data list, and the next step is to open that document. i am using process.start() method to open pdf file but it does not open that file.i am using the following code to open pdf file from specific path. Code: protected void lnkbtnFirstQtrly_Click(object sender, EventArgs e) { try { //dirCustom is the DirectoryInfo variable that is global variable.
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.
So, I have a webForm that has an ImageButton. This ImageButton has to open a file (said file is uploaded by the user in another web form. The file is saved to \serverNamefiles; it can be a doc file, pdf file, excel file).
So this ImageButton should open said file as you normally would. It works on debug, however when I publish my site, and run it from my localhost, it doesn't open the file. When I click the ImageButton it just does the postback and nothing happens.
The code for the ImageButton is just:
Process.Start(fileName);
fileName has the full path of the file I want to open, in this case it has: \serverNamefilesmyFile.pdf
I need to call a function everytime a visitor visits one of my website's page. But I do not want the execution of the function to interfere with the interface between the user and the website i.e. different thread. What is the best way to do that on ASP.Net?
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 a web app which displays some data in a GridView. This GridView is populated with a method called BindGrid. The user selectes one or more rows from the grid, then clicks the Process button. What needs to happen is that the selected rows are assembled into a CSV file which is downloaded to the browser, then the database is updated to reflect which rows were selected, and the grid is refreshed so the previously selected rows are no longer displayed. This all sort of works, except...
My code is below, which is very similar to lots of snippets found in this forum.
The problem is that if I uncomment Response.End(), or replace it with ApplicationInstance.CompleteRequest, it all works great except none of the code after Response.End() executes, and so the log entry is not made and the grid is not refreshed.
If I comment Response.End(), as in the snippet below, the code following does run, including the log entry and the call to BindGrid. (I know that because log entries inside BindGrid are made.) However, the page does not refresh. If I press F5 to refresh the page, it redraws correctly refreshed.
So the question is, how do I refresh the page after downloading the file?
I have tried calling both Response.Redirect and Server.Transfer after BindGrid
I developed a Webpage in ASP.NET - the page has a button that starts a DOS-Program on click.Here is the Code:
if (!String.IsNullOrEmpty(endTime)) { Process p = new Process();[code]....
The code works fine and starts the Process.Now the Problem: I click on the button and the process starts (I see this in the database) and the program works fine, however, I want to stop the process now, but don't know how.
There isn't a DOS-Window where I can click "CTRL + C" or something.What can I do to stop the process?And which User is used for starting the Process?