Dot Net application running on Vista but not on XP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dev9
    New Member
    • Jan 2009
    • 4

    Dot Net application running on Vista but not on XP

    Hi,

    I have created an application in csharp that captures image from digital camera using WIA. The application runs fine on Vista but when I deply it and run it on XP, it generates following exception

    System.Runtime. InteropServices .COMException (0x8007007F): Retrieving the COM class factory for component with CLSID {E1C5D730-7E97-4D8A-9E42-BBAE87C2059F} failed due to the following error: 8007007f.
    Why is this happening??
  • Frinavale
    Recognized Expert Expert
    • Oct 2006
    • 9749

    #2
    You forgot to install something on the XP machine that the application uses.

    This is a COM component which requires you to register it in the Windows Registry.

    -Frinny

    Comment

    • dev9
      New Member
      • Jan 2009
      • 4

      #3
      Originally posted by Frinavale
      You forgot to install something on the XP machine that the application uses.

      This is a COM component which requires you to register it in the Windows Registry.

      -Frinny
      Frinny, I have created a setup for deployment. The setup automatically finds all the dependencies or COMs and includes it in setup.

      Important point is this that the same setup works fine on other Vista Machines but not working on XP machines. Any Idea ???

      Comment

      • Frinavale
        Recognized Expert Expert
        • Oct 2006
        • 9749

        #4
        I don't really have any other ideas.
        Whenever I see this error I know that a COM component has not been registered into the Windows Registry.

        The registry is very different on Vista than it is on XP so the reason could be complicated. I, at least, don't know.

        I would try using the regsvr32 tool to uninstall and reinstall your COM components to see if it fixes the problem.

        Beyond that, check that the Windows user account that using the application has permissions to execute/access the COM components too. If your COM component is in a folder that the Windows user is not permitted to access...or the COM component itself has been installed with low trust permissions set for that Windows user then you may also see this kind of error.

        -Frinny

        Comment

        • dev9
          New Member
          • Jan 2009
          • 4

          #5
          Thanks for your reply Frinny.

          The component which is causing problem is Microsoft Windows Image Acquisition ( WIA ) which is available by default in VS 2008. If other components are working fine on Vista & XP .. then why this may behave differently ??

          Comment

          • dev9
            New Member
            • Jan 2009
            • 4

            #6
            I have found the reason.

            This Error is basically due to WIA compatibility with XP. XP support WIA 1 [WIALib] ( wiascr.sll ) while Vista supports WIA 2 [WIA] ( wiaaut.dll ). so we need to use different dll for different OS.

            Comment

            • Frinavale
              Recognized Expert Expert
              • Oct 2006
              • 9749

              #7
              :) I'm glad you solved your problem :)

              Comment

              Working...