none
side by side error out of ideas :-(

    Question

  • Hi!

    I've written my first directshow filter and it is working fine on my DEV PC (Debug and Release version) (Windows 7 64bit) Filter is 32bit.

    Now when i copy the filter (Release Version) to any other machine (Windows 7 64bit) and i try to register it - it doesn't work.

    I always get this annoying side by side configuration error :-)

    Also i'm wondering why my release .dll needs (MSVCR90D.DLL) - regarding dependency walker.

    Stefan

    Friday, October 8, 2010 4:42 PM

Answers

  • Also i'm wondering why my release .dll needs (MSVCR90D.DLL) - regarding dependency walker.
    MSVCR90D.DLL is the debug MSVCRT and it only exists on machines with VisualStudio. Either you are copying the debug build instead of the release one, or you misconfigured your release build to use the debug runtime.

    MVP :: DirectShow / MediaFoundation <http://www.riseoftheants.com/mmx/faq.htm>
    • Marked as answer by disaster123 Friday, October 8, 2010 7:56 PM
    Friday, October 8, 2010 6:31 PM

All replies

  • When I get this error message, I usually find out that either a DLL is missing from the other machine, or there is the wrong version of the DLL present (e.g. a base version of the redist package instead of SP1 version). 

     

    There may be an error in you settings, creating a dependency on the debug shared DLL.


    Michel Roujansky, http://www.roujansky.com
    Friday, October 8, 2010 5:05 PM
    Moderator
  • When i set embed manifest to no - i get the following manifest file:

    "<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
          </requestedPrivileges>
        </security>
      </trustInfo>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
    </assembly>"

    VC Redist 2008 und VC Redist 2008 SP1 x86 are already installed on the target machine. But all installed once are 9.0.3XXX versions. Why do my build .dll needs such an old version and especially why a DEBUG Version in the Release build???

     

     

    Friday, October 8, 2010 5:15 PM
  • Also i'm wondering why my release .dll needs (MSVCR90D.DLL) - regarding dependency walker.
    MSVCR90D.DLL is the debug MSVCRT and it only exists on machines with VisualStudio. Either you are copying the debug build instead of the release one, or you misconfigured your release build to use the debug runtime.

    MVP :: DirectShow / MediaFoundation <http://www.riseoftheants.com/mmx/faq.htm>
    • Marked as answer by disaster123 Friday, October 8, 2010 7:56 PM
    Friday, October 8, 2010 6:31 PM