0
votes

The WCF run ok when I debug it in VS2012. The references are ok, but when I publish it in IIS the service can't resolve the references.. In the output folder on publish, don't have these dll, I dont know if it is normal.

Used references

Im geting this error: "No se pudo recuperar el generador de clases COM para el componente con CLSID {9A8831F1-A263-11D1-8DCF-00A0C90FFFC2} debido al siguiente error: 80040154 Clase no registrada (Excepción de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"

3

3 Answers

1
votes

Easiest thing would be to log in to that server as administrator and run the same install packages for the DLL's that you used to get them on your development machine. You would likely not want to have the Copy Local set to true for your references to the DLLs. When COM objects are installed they are registered in the registry which is why you need the admin privileges. You will want to test this out on a DEV server first!

You may have to Google the DLLS if you dont have the original install packages, make sure you get the correct version.

You would only have to do this once and would then be able to release new versions of your Service without re-installing the COM objects.

If you want to be able to install easily to multiple machines you could possibly do this by adding a Setup and deployment project to your solution, it is likely though that the installer that comes with the DLL's is a much better and simpler choice.

EDIT, For example I found an install for RDO 2.0 on the Microsoft site MSRdo20.cab

0
votes

You need to copy these assemblies locally to your build output. The easiest way is to change them in Visual Studio:

enter image description here

0
votes

It is unlikely that IIS would have access to your documents folder. You will either have to grant the apppool identity read rights to the folders holding the dlls, or unregister them and register them somewhere else.