False positive when checking for VC runtimes.
Posted: Mon Jan 19, 2015 11:43 am
Hello,
the script "checkvc91_x64" (for example) looks under "$WINDIR$\WinSxS" for all files named "mfc90.dll", checks the version number of each one found and if one with at least a specific version number can be found it reports success.
So far so good.
BUT!
If only the 32bit version is installed, there will also be a "mfc90.dll" somewhere under "$WINDIR$\WinSxS" also with an acceptable version number.
And since the file's platform is never tested it is accepted, the script reports success and .... the newly installed 64bit program crashes right at the start.
This bug is not limited to "checkvc91_x64" but exists in all VC-Runtime test scripts.
There should be a function "Check File Platform" or else "Check File Version" should be extended to (optionally) also check for a specific platform.
the script "checkvc91_x64" (for example) looks under "$WINDIR$\WinSxS" for all files named "mfc90.dll", checks the version number of each one found and if one with at least a specific version number can be found it reports success.
So far so good.
BUT!
If only the 32bit version is installed, there will also be a "mfc90.dll" somewhere under "$WINDIR$\WinSxS" also with an acceptable version number.
And since the file's platform is never tested it is accepted, the script reports success and .... the newly installed 64bit program crashes right at the start.
This bug is not limited to "checkvc91_x64" but exists in all VC-Runtime test scripts.
There should be a function "Check File Platform" or else "Check File Version" should be extended to (optionally) also check for a specific platform.