我正在尝试在IIS中执行批处理文件服务器端,以使用printuientry调用添加打印机。 我面临的问题是我使用复制到输出目录 - 始终复制和以下代码:
var path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
var processInfo = new ProcessStartInfo(Path.Combine(path, "AddPrinter.bat"))
{
CreateNoWindow = true,
UseShellExecute = false,
WorkingDirectory = path,
Arguments = ipAddress,
RedirectStandardError = true,
RedirectStandardInput = true,
RedirectStandardOutput = true
};
var process = Process.Start(processInfo);
process.WaitForExit(10000);
process.Close();
现在在进行去除时,我已经检查了路径及其设置的值 文件:\ C:\ _项目\ PrinterServerV2 \ BIN 我检查了文件和目录是否存在。 但我得到了例外:
System.ComponentModel.Win32Exception (0x80004005): The directory name is invalid
有什么想法吗?
答案 0 :(得分:0)
检查您在iis配置中设置的用户是否具有运行,访问,写入和读取您要对批处理文件执行的操作的所有权限。
还尝试更改你的ProcessStartInfo,就像进程将cmd.exe和你的批处理文件一样。
答案 1 :(得分:0)
尝试将AppDomain.CurrentDomain.BaseDirectory作为路径。