i use IAssemblyCache install runtime lib like microsoft.vc80.atl. my program is to help client install runtime if they do not have. i use loadlibrary to check which runtime lib doesn't exist, and all it works in XP, but doesn't work on win8(or win7...).
i found that use IAssemblyCache interface's InstallAssembly function to install return ERROR_SUCCESS, when i check "X:\windows\winsxs\" file, i don't find microsoft.vc80.atl. so, i don't know why the return value is ERROR_SUCCESS but the file doesn't exist:(