在IIS下使用Winforms加载Solidworks API

在IIS下使用Winforms加载Solidworks API,iis,windows-7,authentication,wcf,Iis,Windows 7,Authentication,Wcf,我正在开发一个系统,用户可以在其中与IIS服务器中托管的WCF服务进行交互。然后,WCF应用程序必须启动winform应用程序以及一些参数。此winform应用程序执行一些处理,然后加载安装在服务器上的Solidworks应用程序(软件)。此Solidworks将创建一些输出文件,并将其放在用户有权访问的可共享文件夹中 它在开发环境(Visual Studio)中运行良好,但当我在IIS中部署它时,它会引发以下错误: COMException未处理 类型为的未处理异常 mscorlib.dll中

我正在开发一个系统,用户可以在其中与IIS服务器中托管的WCF服务进行交互。然后,WCF应用程序必须启动winform应用程序以及一些参数。此winform应用程序执行一些处理,然后加载安装在服务器上的Solidworks应用程序(软件)。此Solidworks将创建一些输出文件,并将其放在用户有权访问的可共享文件夹中

它在开发环境(Visual Studio)中运行良好,但当我在IIS中部署它时,它会引发以下错误:

COMException未处理 类型为的未处理异常 mscorlib.dll中出现System.Runtime.InteropServices.COMException“”

我尝试使用两种方法加载WinForm:

从WCF主机创建Winform实例时加载Winform

  • 已加载WinForm的可执行文件(.EXE)
  • 使用System.Diagnostics.Process.Start()
我尝试了以下几点:

  • 以域管理员身份运行IIS
  • 禁用UAC
  • 两个操作都失败了。我尝试为AppPool提供“本地系统”和“域管理员”标识,但这样做会引发visual studio运行时异常“System.runtime.InteropServices.COMException”类型的未处理异常”。我也尝试过将程序转换成x86,但没有成功。但当我独立运行应用程序时,它工作正常

    当我尝试调试时,它在以下行中不起作用:

    SldWorks swApp = Activator.CreateInstance(Type.GetTypeFromProgID("SldWorks.Application")) as SldWorks; 
    

    由于它在Visual Studio环境中运行良好,因此我认为可能是访问问题导致IIS无法正常工作。

    请记住,禁用UAC不会影响应用程序。它在任何方面都不起作用…只是测试hit n试用版。我认为使用IIS系统在Serv中执行操作的用户权限存在问题er应用程序。但无法解决它。