Custom Pipeline Deployment Issues

Hi,

I have developed quite a few custom pipeline components for our Commerce Server 2007 application and I'm trying to move the application to the TEST machine.. When I run a pipeline, it fails to initialize because it says it can't find the component. here's what I did:

On my development box, I have a single project with multiple cs files containing the ComVisible and ProgID attributes, so when I build my solution on the development box, I get ONE single tlb and dll file containing all components. On my development machine, after building the solution, I was able to use the PipeReg.exe tool and use the ProgID that I defined in each .cs file to register the component. It would find it, I would add it to all stages, and when finished, I would go into my pipeline using the pipeline editor and would add my component in the appropriate place. Worked brilliantly.

So I moved the tlb and dll over to the test machine, went to the pipereg.exe utility, and tried to register by ProgID, can't find it. Ok I figure VStudio must do some of the registry work for me when I build my app, so I use the Type Library option of pipereg.exe instead. I browse to the tlb location, and bam, it finds that the type library has 7 components and asks which ones I want to register. I select all of them, and then choose "All Stages" for all of them. I figure all is well now after it tells me that this has succeeded. But, when I go into the pipeline editor, and try to remove/readd my custom components, upon adding a new component, my custom components show up as <Unknown Component>, not the correct name, furthermore, when I try to select any of the unknown components, it gives me an error "Unable to Create Component" with error number 0x80040154

Can someone tell me what I'm doing wrong here

Thanks,

Dave




Answer this question

Custom Pipeline Deployment Issues

  • E. Rijsdijk

    Hello DMAR330,

    During the registration process of you r component through PipeReg.exe on your development environment,

    You have three possible registration options:

    1- Register the component on your local computer

    2- Generate a Registration script to use on another computer to register your component

    3- Both options.

    In your case I recommend the last two.

    Pick your generated script from your development environment and execute it on your test platform

    Regards,



  • hmayer

    Nouredine,

    Thanks for the reply. When I originally registered the pipeline components in PipeReg on my local machine, I did just that, and I did run the registry files on the production machine but this did not make the components actualyl register. I did however solve my problem. The solution was to use the regasm utility on the dll, which required strong naming the assembly and all referenced assemblies and supplying the codebase. Thanks to Colin Bowern's blog for that solution.

    I'm curious to know why I didn't need to do this on the Development box, but I'm assuming it has something to do with Visual Studio perhaps taking care of that step for you when you specify a class with the ComVisibile attribute.

    Thanks,


    Dave



  • Custom Pipeline Deployment Issues