C#开发的程序,调用了PRO文件,在开发的机器上可以正常运行,但是将Release文件换个电脑在执行里面的.exe文件出现错误。错误提示如下图C#IDLEXE文件程序一直注册

解决方案 »

  1.   

    你看你程序中引用了那些dll,这些dll都拷贝到目标机器上,或者在机器上安装这些dll的运行库文件
      

  2.   

    IDL我弄到目标机器上面了,不过我不知道放在哪个
      

  3.   

    你应该引用了COM组件,客户机有没有安装这个组件?
      

  4.   

    我开发的机器上面有envi4.8和visual studio 2012,并且开发的机器是32位的。
    而目标机器上只有一个envi4.7,并且是64位机。
    因为我不知道COM具体是哪个带来的,所以提供了上述内容。
      

  5.   

    是ENVI的库 还是visual studio 的库? 我不确定
      

  6.   

    用regedit检查 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\xxxxx-xxx..
    和hklm\Software\Wow6432Node\Classes 下面有没有这个guid
    或者用oleview看注册的组件。
      

  7.   

    没有,都没有,至于oleview是什么?
      

  8.   

    一看就知道这些组件用C写的COM。某Type类型被错误的当做对象使用。大概是反射一个类型,new对象的时候失败了。
      

  9.   

    没有,都没有,至于oleview是什么?
    仔细找了吗?如果没有就说明这个clsid没有注册。你可以到你的开发机上找下,看它对应的是什么dll。
    oleview就是个查看注册组件的工具,vs2008以后只提供源码,你要到下面目录下:
    C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033
    解压 VC2010Samples.zip后才能看到。
      

  10.   

    或者在这个目录找下oleview:C:\Program Files\Windows Kits\8.0\bin\x86
      

  11.   

    如果是COM组件的话需要先注册了,不是考dll就可以的,百度下注册COM组件
      

  12.   

    没有,都没有,至于oleview是什么?
    仔细找了吗?如果没有就说明这个clsid没有注册。你可以到你的开发机上找下,看它对应的是什么dll。
    oleview就是个查看注册组件的工具,vs2008以后只提供源码,你要到下面目录下:
    C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033
    解压 VC2010Samples.zip后才能看到。
    你提供的路径我真的没找到,而且我有Microsoft Visual Studio9.0,却没有10.0 
      

  13.   

    现在COM组件加进去了,但是运行.exe的时候提示组件调用错误,纠结啊
      

  14.   

    是什么组件呢,一般比较大的组件都会层层引用一堆组件、dll,不是注册一个就行了的,可能要完整安装它的系统。
      

  15.   

    项目当中引用的DLL文件作为Com组件了。是不是你在安装部署的时候没有引入