Click here to Skip to main content
15,920,513 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
I am getting this error
{System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {D6BA1539-8473-497C-92C3-8ECF63DAC0F3} failed due to the following error: 80040154.
at ASP.webform1_aspx.Page_Load(Object sender, EventArgs e) in c:\Inetpub\wwwroot\WebcamPicture\WebForm1.aspx:line 21}
while executing the following code

System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter();
        //Jpeg compression quality
        short nQuality = 45;
        //Shout a picture from my webcam
        CAMSERVERLib.Camera cam = new CAMSERVERLib.CameraClass();
        byte[] picture = (byte[])cam.GrabFrame(nQuality);
        //Add the hour to the jpeg picture
        MemoryStream ms = new MemoryStream(picture);
        Bitmap bmp = new Bitmap(ms);
        Graphics g = Graphics.FromImage(bmp);
        string strDate = DateTime.Now.ToLongDateString() + " - " + DateTime.Now.ToLongTimeString();
        StringFormat drawFormat = new StringFormat();
        drawFormat.Alignment = StringAlignment.Center;
                        new Font(FontFamily.GenericSansSerif, 12),
                        new SolidBrush(Color.Black),
                        new RectangleF(1, 1, 320, 240),
                        new Font(FontFamily.GenericSansSerif, 12),
                        new SolidBrush(Color.White),
                        new RectangleF(0, 0, 320, 240),
        //Get codecs
        ImageCodecInfo[] icf = ImageCodecInfo.GetImageEncoders();
        EncoderParameters encps = new EncoderParameters(1);
        EncoderParameter encp = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)nQuality);
        //Set quality
        encps.Param[0] = encp;
        bmp.Save(Response.OutputStream, icf[1], encps);

I have sucessfully register the dll iusing regasm. but why iam getting this error please tell me.

[edit]Code block added - OriginalGriff[/edit]
Updated 19-Feb-11 0:06am

Whenever you receive an error with a number, google can help:[^] just use the error number as your search term.
In this case, it send you straight here[^] which at least looks relevant.
Share this answer
Espen Harlinn 20-Feb-11 8:21am    
My 5 :)
As this is a COM error registering a dll with regasm will have no effect you need to register the dll with regsvr32.

To find out what dll have a look in the registry under HKCR\CLSID and look for the GUID {D6BA1539-8473-497C-92C3-8ECF63DAC0F3}

Also have a read of this[^] if you're running IIS7
Share this answer
Espen Harlinn 20-Feb-11 8:21am    
Good idea :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900