Different WinSxS Behavior in Windows 7 and Windows Server 2008 R2

I have an executable that shows that it depends on

Microsoft.VC90.CRT 9.0.21022.8
Microsoft.VC90.CRT 9.0.30729.1

On Windows 7, this executable runs without problems. In Windows Server 2008 R2, this executable does not start with the message:

The application failed to start because its side by side configuration is incorrect. Please view the application event log or use the sxstrace.exe command line tool for more details.

This was unexpected - I thought that Windows 7 and Windows Server 2008 R2 should be very similar to runtime availability. Both cars are pretty clean. The Windows 7 machine is a new installation in which there is nothing. A Windows Server 2008 R2 computer has only a few updates from Windows Update.

I checked the WinSxS directory for Windows 7 and found

Microsoft VC90.CRT 9.0.30729.4926

I checked the WinSxS directory for Windows Server 2008 R2 and found

Microsoft VC90.CRT 9.0.30729.4926

The current runtime is newer than what is indicated in the manifest, and yet Windows Server 2008 R2 cannot be redirected to a newer runtime. Running sxstrace on Windows Server 2008 R2 shows:

INFO: Applying Binding Policy
    INFO: No publisher policy found.
    INFO: No binding policy redirect found.

Running sxstrace on Windows 7 gives:

INFO: Applying Binding Policy
    INFO: Find publisher policy at C:\Windows\WinSxS\manifest\amd64...
    INFO: Publisher Policy redirected assembly version.
    INFO: Post policy assembly identity is...

Any ideas on how to solve this, besides installing the VS 2008 runtime environment and the VS 2008 runtime environment with Service Pack 1 (SP1)? I thought the whole idea of ​​the assembly was that it allows the system to redefine older versions and replace newer ones.

+3
source share
2 answers

WinSxS , VS , . (, , malloc) .

0

dll dll v++ , . 2 dll (MSVCR MSVCP) . 3

0

All Articles