編輯從C#.ashx的運行的Cscript.exe不VBScript文件執行代碼
我在一些錯誤處理添加到我的.vbs文件,並且它確實是一個權限問題(我現在碰到一個「Permission拒絕錯誤「)。但是,在web.config <impersonate>
標記中提供我的憑據似乎沒有任何效果。
還試圖通過時,通過
p.StartInfo.Password = Misc.CreateSecurityString("password");
p.StartInfo.UserName = "admin";
我得到一個新的錯誤提供我的憑據的過程:
cscript.exe - Application error
The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.
喊出來,如果你知道是什麼導致了這一點。 (或只是鍵入它...)
感謝您的幫助到目前爲止!
背景
我試圖從一個自定義的處理器(ashx的)執行.vbs文件。 VBScript正在iis 5.1中設置一個Web應用程序。
到目前爲止,下面的代碼執行沒有錯誤
string sToRun = "C:\CreateIISApplication.vbs"
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "cscript";
p.StartInfo.Arguments = sToRun;
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string sOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
問題
我的問題是,VBScript中似乎根本就不會運行。當我檢查IIS時,我的應用程序未被創建。
當我直接從命令提示符運行腳本文件時,一切正常,我的應用程序顯示在IIS中。
故障排除
我決定添加一些回聲報表到.vbs文件,所以我可以確保它正在運行。在命令行中,所有語句都可以正確輸出。當檢查字符串sOutput時,我得到標題消息,但沒有我的後續消息。
從C# - sOutput
Microsoft (R) Windows Script Host Version 5.7 Copyright (C) Microsoft Corporation. All rights reserved
的內容通過命令行
Microsoft (R) Windows Script Host Version 5.7 Copyright (C) Microsoft Corporation. All rights reserved
Hello
所以我可以證明(我認爲).vbs文件不被評估,並且正在調用cscript。如果我在不引用.vbs文件的情況下調用cscript,那麼我將獲得幫助文檔。所以有些事情出錯了。
任何想法?謝謝!
@Mike&@馬特 - 感謝您的幫助,請參閱我的編輯,您可以提供的任何進一步的幫助將會很棒! – 2010-10-01 19:38:11