C#调用exe文件,IIS发布后无法掉用本地exe程序的解决方法
2013-07-15 15:56
881 查看
webservice发布到IIS后process類无法調用本地exe程序的解决方法
修改C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG目錄下的machine.config 文件
将netframework安装目录下config/machine.config 文件中processmodel节点的username= "machine " 修改为 username= "system ",將aspnet設置為系統權限。
参考网址:
--------------------------------------------------------------------------------------------------------------------------------------------
这位楼主的问题,我也遇到了,但是我按照他那样操作并没有解决问题,弄了好久终于找到解决方案了,
方案如下:IIS管理器——应用程序池——设置应用程序池默认设置——进程模型——标识,这个标识里面有内置账户和自定义账户,我设置自定义账户,然后填上Administration(必须是管理员账户或者拥有管理员权限的账户)和密码。
PS:我的系统是windows7的系统,其他应该也差不多,希望能帮到各位。出现这个问题的原因就是IIS没有调用exe的权限,所以给它最高权限就可以了。
我做的这个系统是想通过C#调用plink.exe这个软件连接linux机器,并管理linux机器(增加用户,修改权限什么的),然后通过给plink.exe传参来达到这些增删改用户以及权限,下面是我的代码:
using System.IO; //StreamWriter
using System.Diagnostics;
using System.ComponentModel;
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.Arguments = "-ssh wp@192.168.1.188 -pw wp";
pInfo.FileName = Server.MapPath("~/plink.exe");
Process p = new Process();
p.StartInfo = pInfo;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
StreamWriter myStreamWriter = p.StandardInput;
myStreamWriter.WriteLine("sudo useradd -d /home/wp-s /bin/bash -m wp");
myStreamWriter.WriteLine("sudo su root -c 'echo \"wp:wp\" | chpasswd'");
myStreamWriter.WriteLine("exit");
StreamReader ss = p.StandardOutput;
pand = ss.ReadLine().ToString();
p.StandardInput.Flush();
p.WaitForExit();
p.Close();
如果以上设置还是不管用,请继续设置:
计算机 ——管理——服务——IIS Admin Service ——属性——登陆——允许服务与桌面交互(勾上)
打开IIS管理器:
IIS身份验证——匿名身份验证——启用
.NET 信任级别 ——Full internal ——应用
网站——绑定——添加——IP填上本机IP
参考连接:
http://social.msdn.microsoft.com/Forums/zh-CN/csharpgeneral/thread/c14d5871-28c9-4bfc-a56d-d3d3a50395f4
http://support.microsoft.com/kb/317012/zh-cn
修改C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG目錄下的machine.config 文件
将netframework安装目录下config/machine.config 文件中processmodel节点的username= "machine " 修改为 username= "system ",將aspnet設置為系統權限。
参考网址:
ASP.NET 中的處理序及要求識別
http://support.microsoft.com/kb/317012/zh-tw--------------------------------------------------------------------------------------------------------------------------------------------
这位楼主的问题,我也遇到了,但是我按照他那样操作并没有解决问题,弄了好久终于找到解决方案了,
方案如下:IIS管理器——应用程序池——设置应用程序池默认设置——进程模型——标识,这个标识里面有内置账户和自定义账户,我设置自定义账户,然后填上Administration(必须是管理员账户或者拥有管理员权限的账户)和密码。
PS:我的系统是windows7的系统,其他应该也差不多,希望能帮到各位。出现这个问题的原因就是IIS没有调用exe的权限,所以给它最高权限就可以了。
我做的这个系统是想通过C#调用plink.exe这个软件连接linux机器,并管理linux机器(增加用户,修改权限什么的),然后通过给plink.exe传参来达到这些增删改用户以及权限,下面是我的代码:
using System.IO; //StreamWriter
using System.Diagnostics;
using System.ComponentModel;
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.Arguments = "-ssh wp@192.168.1.188 -pw wp";
pInfo.FileName = Server.MapPath("~/plink.exe");
Process p = new Process();
p.StartInfo = pInfo;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
StreamWriter myStreamWriter = p.StandardInput;
myStreamWriter.WriteLine("sudo useradd -d /home/wp-s /bin/bash -m wp");
myStreamWriter.WriteLine("sudo su root -c 'echo \"wp:wp\" | chpasswd'");
myStreamWriter.WriteLine("exit");
StreamReader ss = p.StandardOutput;
pand = ss.ReadLine().ToString();
p.StandardInput.Flush();
p.WaitForExit();
p.Close();
如果以上设置还是不管用,请继续设置:
计算机 ——管理——服务——IIS Admin Service ——属性——登陆——允许服务与桌面交互(勾上)
打开IIS管理器:
IIS身份验证——匿名身份验证——启用
.NET 信任级别 ——Full internal ——应用
网站——绑定——添加——IP填上本机IP
参考连接:
http://social.msdn.microsoft.com/Forums/zh-CN/csharpgeneral/thread/c14d5871-28c9-4bfc-a56d-d3d3a50395f4
http://support.microsoft.com/kb/317012/zh-cn
相关文章推荐
- C#调用exe文件,IIS发布后无法掉用本地exe程序的解决方法
- C#调用exe文件,IIS发布后无法掉用本地exe程序的解决方法
- webservice发布到IIS后process類无法調用本地exe程序的解决方法
- xp 中安装iis报错 安装程序无法复制文件 zClientm.exe 解决方法
- C#程序发布在IIS7后,路径无法访问.apk文件的解决方法
- 安装IIS时,提示无法复制staxmem.dll、iisapp.vbs、convlog.exe等文件的解决方法
- C# winform程序发布后找不到数据文件(xml,ini,etc...)的解决方法
- 给C#程序加壳(C# 调用嵌入资源的EXE文件方法)
- 64位系统 IIS7.5 下:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方法
- IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
- 将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)
- 运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- 给C#程序加壳(C# 调用嵌入资源的EXE文件方法)
- 将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法
- 当所有安装过的程序(exe)文件都无法运行时的解决方法
- IIS卸载与安装失败,提示“文件复制操作被取消.安装程序无法继续”的解决方法
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
- c# 读取其他程序正打开的文件的时“正由另一进程使用,因此该进程无法访问该文件。"的问题解决方法
- C#调用Exe文件的方法及如何判断程序调用的exe已结束