IIS可执行文件未执行

IIS可执行文件未执行,iis,ssis,executable,Iis,Ssis,Executable,我已经连续一个星期在考虑一个问题,一直无法解决它,我非常渴望解决它 在客户站点上,我们有两个环境:UAT和PROD。UAT工作得非常完美(请记住这一点)。我们现在正试图将解决方案部署到PROD,但解决方案的某些部分不起作用 我们已经开发了一个asp.net应用程序,提供给客户机以允许他们调用SSIS包(有几个下拉列表,他们首先选择,然后单击一个名为“invoke”的按钮)。 当用户单击Invoke按钮时,将调用名为InvokeSSIS.bat的批处理文件,该批处理文件使用适当的参数组合对dtex

我已经连续一个星期在考虑一个问题,一直无法解决它,我非常渴望解决它

在客户站点上,我们有两个环境:UAT和PROD。UAT工作得非常完美(请记住这一点)。我们现在正试图将解决方案部署到PROD,但解决方案的某些部分不起作用

我们已经开发了一个asp.net应用程序,提供给客户机以允许他们调用SSIS包(有几个下拉列表,他们首先选择,然后单击一个名为“invoke”的按钮)。 当用户单击Invoke按钮时,将调用名为InvokeSSIS.bat的批处理文件,该批处理文件使用适当的参数组合对dtexec的命令行调用

我遇到了一个特殊的包的问题,该包负责调用一个可执行文件,该文件生成一个电子表格,我将导入到我的系统中

可执行文件位于映射的H:\驱动器上

我修改了InvokeSSIS.bat批处理文件,以捕获批处理文件生成的命令。如果我从命令行执行此命令,它将非常有效。从webapp调用程序,它执行包,但负责调用可执行文件的任务不会执行,因为整个包只需1秒即可完成(而应该需要大约一分钟)

可执行文件确实有GUI,但它不是交互式的。这是因为当您使用特定参数调用GUI时,它会自动以批处理模式运行,并执行用于生成所需电子表格的宏

我知道这是可以的,因为它在UAT服务器上工作,并且可以从命令行工作

我已经检查了可执行文件的权限(在可执行文件上单击鼠标右键,然后单击“属性”)。我已经将对可执行文件的完全控制权授予了指定为我正在使用的应用程序池的“标识”选项卡的同一用户

有人能帮我吗?就像我说的,我快死了

请让我知道,如果你有任何想法或什么其他信息,你需要

环境(UAT和PROD) 操作系统:Windows Server 2003
IIS 6
asp.net 2.0
SQL Server 2008

谢谢


Steve

您不能将映射驱动器与IIS一起使用


您必须使用\\servername语法来访问其他系统上的文件。

我同意user544284的观点,这至少在一定程度上是一个映射问题。我将暂时忽略让web应用程序调用批处理文件来启动远程网络驱动器上的可执行文件(通过驱动器号映射)的完全疯狂

最有可能的是,UAT框设置了一些东西,为您映射缺少哪个产品的驱动器号

唯一的另一种可能性是正在发生安全违规。通常不赞成从网络驱动器运行.exe。这两个环境是否具有完全相同的windows版本?UAC的配置是否相同?这里的任何差异都将是重要的

这引出了一个有趣的想法。我想知道是否有人使用应用程序池使用的相同帐户凭据登录到UAT服务器,并将exe所在机器的ip地址添加到“本地Intranet”站点列表中。。。或者,如果他们在UAT服务器本身上安装了SSI

仅仅因为您可以登录到服务器并在命令行上运行它就没有任何意义。您必须了解web应用程序运行的用户是否映射了驱动器号,以及该用户是否具有所需的安全位,以及本地操作系统是否允许


好吧,我不能忽视它:hairbrained是我能为这个“架构”想出的最好的形容词。帮你自己一个忙,然后回到这个问题上。正如你已经发现的那样,上面写满了“易碎”这个词。与其构建一个批处理文件来调用dtexec,不如直接通过或之类的方式来实现

您是否可以修改您的帖子,以便清楚地列出调用/执行的内容、位置和时间?你的帖子让人很难理解。此外,授予IIS工作进程对可执行文件的完全权限是个坏主意,而且在任何情况下都不需要这样做。在UAT/PRD?+1中,您的IIS应用程序池标识不同,以确定“架构”是原因;把问题当作症状。否则,我们只是一群低水平的反应者,没有严重的影响。