Try running FUSLOGVW.EXE (which comes with the .Net SDK, I think). This
is the Fusion Log Viewer. It can start the capture of a log of the DLLs
that your program is trying to load, and display all kinds of details
about the version of those libraries and where it is looking for them.
This should give you a good clue about what exactly it is looking for and
not finding in those machines.
I tried the utility and see the errors, but they make little sence to me.
They seem to deal with for example system.windows.forms.resources not being
there. I appended two of the errors below. Do I understand it correctly as
resources not being in the libraries such as system.windows.forms, but they
exist in the dlls of the framework on the development machine? Why? I
originally had .net 2.0 installed and then installed 3.0 to see if that
changed anything.
Again... In the test (second post zip) I just make an unmanaged classlib in
c++ and try to load it. When vs2008 is installed, it works. When it is not
installed, it fails.
*** Assembly Binder Log Entry (31-12-2007 @ 14:38:37) ***
The operation failed.
Bind result: hr = 0x80070002. Den angivne fil blev ikke fundet.
Assembly manager loaded from:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rwks.dll
Running under executable E:\test\dummylibtest.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = DS1\User
LOG: DisplayName = System.Windows.Forms.resources, Version=2.0.0.0,
Culture=da-DK, PublicKeyToken=b77a5c561934e089
(Fully-specified)
LOG: Appbase = file:///E:/test/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Post-policy reference: System.Windows.Forms.resources, Version=2.0.0.0,
Culture=da-DK, PublicKeyToken=b77a5c561934e089
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL
file:///E:/test/da-DK/System.Windows.Forms.resources.DLL.
LOG: Attempting download of new URL
file:///E:/test/da-DK/System.Windows.Forms.resources/System.Windows.Forms.resources.DLL.
LOG: Attempting download of new URL
file:///E:/test/da-DK/System.Windows.Forms.resources.EXE.
LOG: Attempting download of new URL
file:///E:/test/da-DK/System.Windows.Forms.resources/System.Windows.Forms.resources.EXE.
LOG: All probing URLs attempted and failed.
---
*** Assembly Binder Log Entry (31-12-2007 @ 14:49:52) ***
The operation failed.
Bind result: hr = 0x80070002. Den angivne fil blev ikke fundet.
Assembly manager loaded from:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msco rwks.dll
Running under executable E:\test\dummylibtest.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = DS1\User
LOG: DisplayName = mscorlib.resources, Version=2.0.0.0, Culture=da,
PublicKeyToken=b77a5c561934e089
(Fully-specified)
LOG: Appbase = file:///E:/test/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\conf ig\machine.config.
LOG: Post-policy reference: mscorlib.resources, Version=2.0.0.0, Culture=da,
PublicKeyToken=b77a5c561934e089
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL
file:///E:/test/da/mscorlib.resources.DLL.
LOG: Attempting download of new URL
file:///E:/test/da/mscorlib.resources/mscorlib.resources.DLL.
LOG: Attempting download of new URL
file:///E:/test/da/mscorlib.resources.EXE.
LOG: Attempting download of new URL
file:///E:/test/da/mscorlib.resources/mscorlib.resources.EXE.
LOG: All probing URLs attempted and failed.