将错误信息贴出来,另外请说明是通过IIS调用还是通过可执行程序(.EXE)调用.

解决方案 »

  1.   

    ITest * pITest=NULL;  // 我们定义的接口
    BSTR  bstrOS; // 初始化
    HRESULT hr = CoInitialize(NULL);
    if(FAILED(hr))
    {
    AfxMessageBox("Coinitialize failed! hr=0x%x"/*, hr*/);
    return ;
    } // 创建COM对象
    hr = CoCreateInstance(CLSID_Test, NULL, CLSCTX_ALL, IID_ITest, (void **)&pITest);
    if(FAILED(hr))
    {
    AfxMessageBox("create com failed! hr=0x%x"/*, hr*/);
    CoUninitialize();
    return ;
    }
     // 获得操作系统
    hr = pITest->GetOSVersion(&bstrOS);
    if(FAILED(hr))
    {
    AfxMessageBox("pITest->GetOSVersion() failed! hr=0x%x"/*, hr*/);
    执行到此处失败,探出上面的对话框,用的exe方式在2000上通过使用.msi文件和注册*ps.dll完成安装
      

  2.   

    看看你的GetOSVersion函数究竟作些什么
      

  3.   

    GetOSVersion函数硬该没有问题,因为本地可以顺利执行,内容也已经被我简化到了极点,
    网络也应该没有问题,因为COM对象可以顺利创建,神阿,就就我吧!!
      

  4.   

    com对象可以建立,方法反而不能执行是因为权限的问题嘛?如果是,该如何搞定呢?
    我的qq185938,请执教,我已经迷茫了2天了!!
      

  5.   

    see the permission of the method GetOsVersion in the component services manager,
    and try to set the permission as same as the object.
      

  6.   

    你可以用dcomcnfg设置调用权限