none
Problems with stdole.dll RRS feed

  • Question

  • Hi,

    In my C# applciaton (.Net 2.0), i am using some images as embedded resources.
    The application is working fine in developer's (my) PC, but when I execute it another PC which has only the .net 2.0 Redist Framework Installed, it is giving the error message 'Could not load file or assembly 'stdole, Version=7.0.3300.0' while loading the embedded images.

    Then I found that stdole.dll was not present as the part of the .net 2.0 Redist Framework. the application is looking for that dll in the GAC, but it is not present.
    I placed the stdole.dll as a preivate asembly in the same folder and tried. It worked.

    Is there any way to install the stdole.dll in the target systems GAC, using the setup file of my application.?

    Why stdole.dll is not a part of the .net redist installation? If this is not a part of .net installation, why the program is looking for even though i have not used any references for the dll in the project?

    please help me..

    -Arun
    Friday, May 29, 2009 2:05 PM

Answers

  • Hi Arun

    It sounds that your project is dealing with OLE Automation, and the stdole.dll is referenced.
    If the project really doesn't need stdole.dll, you can unreference it in the project.
    Or, to deploy it as private assembly is also a solution.

    Generally speaking, to install assemblies into GAC we've got following ways:
    • Using the Global Assembly Cache tool (Gacutil.exe).
      Note: Gacutil.exe is only for development purposes and should not be used to install production assemblies into the global assembly cache. 
    • Using Microsoft Windows Installer 2.0.
      This is the recommended and most common way to add assemblies to the global assembly cache. The installer provides reference counting of assemblies in the global assembly cache, plus other benefits.
    • Using a Windows shell extension provided by the Windows Software Development Kit (SDK) called the Assembly Cache Viewer (Shfusion.dll).
      The shell extension allows you to drag assemblies into the global assembly cache.
    • Using the .NET Framework Configuration Tool (Mscorcfg.msc).
      The .NET Framework Configuration Tool (Mscorcfg.msc) allows you to view the global assembly cache and add new assemblies to the cache.
    As for your scenario, you can deal with a MSI install, such as Visual Studio setup project, for more information see: How to deploy an assembly to the target computer global assembly cache (also applies for VS2005 and VS2008).

    Thanks.

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Send us any feedback you have about the help from MSFT at fbmsdn@microsoft.com
    • Marked as answer by Figo Fei Friday, June 5, 2009 3:22 AM
    Tuesday, June 2, 2009 4:33 AM