106 DWORD ImportLookupTable;
108 DWORD ForwarderChain;
110 DWORD ImportAddressTable;
116 DWORD HintNameTableRVA;
278 IMAGE_DOS_SIGNATURE, 144, 3, 0, 4, 0, 0xFFFF, 0, 0xB8, 0, 0, 0, 0x40,
279 0, { 0 }, 0, 0, { 0 }, 0x80
283 0x1F0E, 0x0EBA, 0xB400, 0xCD09, 0xB821, 0x4C01, 0x21CD, 0x6854, 0x7369,
284 0x7020, 0x6F72, 0x7267, 0x6D61, 0x6320, 0x6E61, 0x6F6E, 0x2074, 0x6562,
285 0x7220, 0x6E75, 0x6920, 0x206E, 0x4F44, 0x2053, 0x6F6D, 0x6564, 0x0D2E,
286 0x0A0D, 0x0024, 0x0000, 0x0000, 0x0000
423 { 0xE496, 0x9A6E, 0xD95E, 0xA2A1, 0x5D72, 0x9CEF, 0x41E3, 0xD483,
424 0xCB5C, 0x329A, 0x887C, 0xE18E, 0xE664, 0x2E1C, 0x0E61, 0xB361,
425 0x8B88, 0xC8D0, 0x47A5, 0x9260, 0x6CC5, 0xE60F, 0x1F61, 0x1E3E,
426 0xAFEE, 0x925A, 0xA084, 0x6B44, 0x2DC6, 0x8126, 0xEBC9, 0xD812,
427 0xF3E9, 0xA3F3, 0xD0D5, 0x2C7F, 0x4592, 0xA0AF, 0x8B15, 0xD91E,
428 0x693E, 0x7A4F, 0x5567, 0xC466, 0xC410, 0x3D29, 0xB25F, 0xCD6C,
429 0x53EF, 0x0D29, 0x085A, 0xEC39, 0xE3BD, 0x58E0, 0x78F5, 0x0587,
430 0xF8D8, 0x14E4, 0x77CE, 0xCCC9, 0x4DCF, 0x8A18, 0x90E8, 0x1A52
438 {
'l',
'S',
'y',
's',
't',
'e',
'm',
'.',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
's',
'.',
439 'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
'R',
'e',
'a',
'd',
'e',
'r',
',',
' ',
440 'm',
's',
'c',
'o',
'r',
'l',
'i',
'b',
',',
' ',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'=',
441 '2',
'.',
'0',
'.',
'0',
'.',
'0',
',',
' ',
'C',
'u',
'l',
't',
'u',
'r',
'e',
'=',
442 'n',
'e',
'u',
't',
'r',
'a',
'l',
',',
' ',
'P',
'u',
'b',
'l',
'i',
'c',
'K',
'e',
'y',
'T',
'o',
'k',
'e',
'n',
'=',
443 'b',
'7',
'7',
'a',
'5',
'c',
'5',
'6',
'1',
'9',
'3',
'4',
'e',
'0',
'8',
'9',
444 '#',
'S',
'y',
's',
't',
'e',
'm',
'.',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
's',
'.',
445 'R',
'u',
'n',
't',
'i',
'm',
'e',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
'S',
'e',
't',
446 2,0,0,0,0,0,0,0,0,0,0,0,
'P',
'A',
'D',
'P',
'A',
'D',
'P',180,0,0,0
541 "\0<Module>\0wine.dll\0wine\0wine.resources\0\0",
545 { 0x86EF, 0x5B5A, 0x2C5E, 0x4F6D, 0xC2AB, 0x0A94, 0xD658, 0x31DA },
547 { 0x8000, 0x00A0, 0x0024, 0x0400, 0x0080, 0x9400, 0x0000, 0x0600,
548 0x0002, 0x0000, 0x0024, 0x5200, 0x4153, 0x0031, 0x0004, 0x0100,
549 0x0100, 0x2F00, 0x60E0, 0x4D76, 0x5E5C, 0x430A, 0x6FF3, 0x77D6,
550 0x04CA, 0xF6AD, 0xF54D, 0x0AD2, 0x9FB6, 0x39C2, 0x2E66, 0xD30F,
551 0x916F, 0x1826, 0xFB52, 0x78A0, 0x8262, 0x6902, 0xBD47, 0xAF30,
552 0xBAB1, 0x29DA, 0xAA6D, 0xF189, 0x296A, 0x0F13, 0x4982, 0x531D,
553 0x8283, 0x1343, 0x5A33, 0x5D36, 0xEB3F, 0x0863, 0xA771, 0x0679,
554 0x4DFF, 0xD30A, 0xBEAD, 0x2A9F, 0x12A8, 0x4319, 0x5706, 0x333D,
555 0x0CAC, 0xE80A, 0xFD99, 0xC82D, 0x3D3B, 0xBFFE, 0xF256, 0x25E3,
556 0x1A12, 0xC116, 0x8936, 0xF237, 0x5F26, 0xC68A, 0x1E42, 0xCE41,
595 { { { 0 } }, { 0 } },
606 { { { 0 } }, { 0 } },
617 { { { 0 } }, { 0 } },
630 {
L"VS_VERSION_INFO" },
668 {
L"StringFileInfo" },
683 {
L"FileDescription" },
707 {
L"LegalCopyright" },
715 {
L"OriginalFilename" },
723 {
L"ProductVersion" },
731 {
L"Assembly Version" },
760 win_skip(
"mscoree.dll not available\n");
765 if (!pLoadLibraryShim)
767 win_skip(
"LoadLibraryShim not available\n");
772 hr = pLoadLibraryShim(
L"fusion.dll",
NULL,
NULL, &hfusion);
775 win_skip(
"fusion.dll not available\n");
780 pCreateAssemblyCache = (
void *)
GetProcAddress(hfusion,
"CreateAssemblyCache");
783 if (!pCreateAssemblyCache || !pGetCachePath)
785 win_skip(
"fusion.dll not implemented\n");
811#define create_file(name, size) create_file_data(name, name, size)
819 assembly.tableshdr.MaskValid.u.HighPart = 0x101;
820 assembly.tableshdr.MaskValid.u.LowPart = 0x00000005;
821 assembly.tableshdr.MaskSorted.u.HighPart = 0x1600;
822 assembly.tableshdr.MaskSorted.u.LowPart = 0x3301FA00;
824 assembly.labelres.OffsetToData = 0x80000018;
826 assembly.label11res.OffsetToData = 0x80000030;
828 assembly.label10res.OffsetToData = 0x48;
845 hr = pCreateAssemblyCache(&
cache, 0);
846 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
848 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"wine.dll",
NULL);
852 win_skip(
"Tests can't be run on older .NET version (.NET 1.1)\n");
854 skip(
"Not enough rights to install an assembly\n");
856 ok(0,
"Expected S_OK, got %08lx\n",
hr);
859 IAssemblyCache_UninstallAssembly(
cache, 0,
L"wine.dll",
NULL, &disp);
860 IAssemblyCache_Release(
cache);
870 hr = pCreateAssemblyCache(
NULL, 0);
874 hr = pCreateAssemblyCache(&
cache, 42);
875 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
877 IAssemblyCache_Release(
cache);
886 hr = pCreateAssemblyCache(&
cache, 0);
887 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
893 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
894 IAssemblyCacheItem_Release(
item);
896 hr = IAssemblyCache_CreateAssemblyCacheItem(
cache, 0,
NULL, &
item,
L"wine");
897 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
898 IAssemblyCacheItem_Release(
item);
900 hr = IAssemblyCache_CreateAssemblyCacheItem(
cache, 1, (
void *)0xdeadbeef, &
item,
NULL);
901 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
902 IAssemblyCacheItem_Release(
item);
905 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
906 IAssemblyCacheItem_Release(
item);
908 hr = IAssemblyCache_CreateAssemblyCacheItem(
cache, 0, (
void *)0xdeadbeef, &
item,
NULL);
909 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
910 IAssemblyCacheItem_Release(
item);
912 IAssemblyCache_Release(
cache);
926 hr = pCreateAssemblyCache(&
cache, 0);
927 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
934 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"",
NULL);
938 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"file",
NULL);
940 "Expected HRESULT_FROM_WIN32(ERROR_INVALID_NAME), got %08lx\n",
hr);
943 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"file.bad",
NULL);
945 "Expected HRESULT_FROM_WIN32(ERROR_INVALID_NAME), got %08lx\n",
hr);
948 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"file.dll",
NULL);
950 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
953 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"file.exe",
NULL);
955 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
958 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"test.dll",
NULL);
960 "Expected COR_E_ASSEMBLYEXPECTED, got %08lx\n",
hr);
963 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"wine.dll",
NULL);
964 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
967 strcat(
dllpath,
"\\assembly\\GAC_MSIL\\wine\\\\1.0.0.0__2d03617b1c31e2f5\\wine.dll");
974 hr = IAssemblyCache_UninstallAssembly(
cache, 0,
L"wine",
NULL, &disp);
975 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
976 ok(disp == IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED,
977 "Expected IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED, got %ld\n", disp);
983 hr = IAssemblyCache_UninstallAssembly(
cache, 0,
L"wine",
NULL, &disp);
985 ok(disp == IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED,
986 "Expected IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED, got %ld\n", disp);
990 IAssemblyCache_Release(
cache);
993#define INIT_ASM_INFO() \
994 ZeroMemory(&info, sizeof(ASSEMBLY_INFO)); \
995 info.cbAssemblyInfo = sizeof(ASSEMBLY_INFO); \
996 info.pszCurrentAssemblyPathBuf = path; \
997 info.cchBuf = MAX_PATH; \
1013 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1015 lstrcatW(asmpath,
L"_MSIL\\wine\\1.0.0.0__2d03617b1c31e2f5\\wine.dll");
1019 hr = pCreateAssemblyCache(&
cache, 0);
1020 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1024 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine", &
info);
1026 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1028 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1029 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1030 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1031 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1032 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1033 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1035 "Assembly path was changed\n");
1038 hr = IAssemblyCache_InstallAssembly(
cache, 0,
L"wine.dll",
NULL);
1039 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1043 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
1047 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1048 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1049 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1050 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1051 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1052 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1054 "Assembly path was changed\n");
1059 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
L"", &
info);
1062 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1063 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1064 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1065 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1066 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1067 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1069 "Assembly path was changed\n");
1074 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine", &
info);
1075 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1077 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1079 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1080 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1081 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1082 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1083 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1085 "Wrong assembly path returned\n");
1087 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1091 hr = IAssemblyCache_QueryAssemblyInfo(
cache, 0,
L"wine.dll", &
info);
1093 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1095 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1096 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1097 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1098 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1099 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1100 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1102 "Assembly path was changed\n");
1106 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
L"wine",
NULL);
1107 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1110 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine",
NULL);
1111 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1115 info.cbAssemblyInfo = 0;
1116 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
L"wine", &
info);
1117 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1119 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1121 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1122 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1123 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1124 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1125 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1127 "Wrong assembly path returned\n");
1129 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1133 info.cbAssemblyInfo = 1;
1134 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
L"wine", &
info);
1136 ok(
info.cbAssemblyInfo == 1,
"Expected 1, got %ld\n",
info.cbAssemblyInfo);
1137 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1138 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1139 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1140 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1141 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1143 "Assembly path was changed\n");
1149 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine", &
info);
1152 "Expected sizeof(ASSEMBLY_INFO) * 2, got %ld\n",
info.cbAssemblyInfo);
1153 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1154 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1155 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1156 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1157 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1159 "Assembly path was changed\n");
1164 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine", &
info);
1165 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1167 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1169 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1170 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1171 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1174 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1175 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1178 "Wrong assembly path returned\n");
1180 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1184 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE |
1185 QUERYASMINFO_FLAG_VALIDATE,
L"wine", &
info);
1186 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1188 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1190 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1191 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1192 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1195 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1196 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1199 "Wrong assembly path returned\n");
1201 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1205 info.pszCurrentAssemblyPathBuf =
NULL;
1206 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine", &
info);
1208 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1210 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1211 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1212 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1216 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1217 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1220 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1225 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine", &
info);
1227 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1229 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1230 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1231 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1233 "Assembly path was changed\n");
1237 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1238 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1241 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1246 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
L"wine", &
info);
1247 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1249 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1251 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1252 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1253 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1255 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1258 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1259 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1262 "Wrong assembly path returned\n");
1267 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1269 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1271 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1273 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1274 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1275 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1278 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1279 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1282 "Wrong assembly path returned\n");
1284 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1289 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_VALIDATE,
1297 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1304 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1306 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1308 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1310 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1311 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1312 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1315 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1316 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1319 "Wrong assembly path returned\n");
1321 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1326 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1329 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1331 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1332 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1333 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1334 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1335 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1336 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1338 "Assembly path was changed\n");
1343 lstrcpyW(
name,
L"wine,version=1.0.0.1,publicKeyToken=2d03617b1c31e2f5,culture=neutral");
1344 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1347 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1349 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1350 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1351 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1352 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1353 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1354 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1356 "Assembly path was changed\n");
1361 lstrcpyW(
name,
L"mscorlib.dll,version=0.0.0.0,culture=neutral,publicKeyToken=null");
1374 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1376 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1378 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1380 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1381 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1382 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1385 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1386 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1389 "Wrong assembly path returned\n");
1391 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1396 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1399 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1400 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1402 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1403 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1404 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1405 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1406 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1408 "Assembly path was changed\n");
1414 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1416 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1418 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1420 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1421 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1422 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1425 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1426 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1429 "Wrong assembly path returned\n");
1431 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1436 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1439 "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %08lx\n",
hr);
1441 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1442 ok(
info.dwAssemblyFlags == 0,
"Expected 0, got %08lx\n",
info.dwAssemblyFlags);
1443 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1444 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1445 ok(
info.uliAssemblySizeInKB.u.LowPart == 0,
1446 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1448 "Assembly path was changed\n");
1454 hr = IAssemblyCache_QueryAssemblyInfo(
cache, QUERYASMINFO_FLAG_GETSIZE,
1456 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1458 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1460 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1461 ok(
info.uliAssemblySizeInKB.u.HighPart == 0,
1462 "Expected 0, got %ld\n",
info.uliAssemblySizeInKB.u.HighPart);
1465 ok((
info.uliAssemblySizeInKB.u.LowPart == 4),
1466 "Expected 4, got %ld\n",
info.uliAssemblySizeInKB.u.LowPart);
1469 "Wrong assembly path returned\n");
1471 "Expected %d, got %ld\n",
lstrlenW(asmpath) + 1,
info.cchBuf);
1475 info.pszCurrentAssemblyPathBuf =
NULL;
1481 "Expected sizeof(ASSEMBLY_INFO), got %ld\n",
info.cbAssemblyInfo);
1483 "Expected ASSEMBLYINFO_FLAG_INSTALLED, got %08lx\n",
info.dwAssemblyFlags);
1487 hr = IAssemblyCache_UninstallAssembly(
cache, 0,
L"wine",
NULL, &disp);
1488 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1489 ok(disp == IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED,
1490 "Expected IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED, got %ld\n", disp);
1494 IAssemblyCache_Release(
cache);
#define FUSION_E_PRIVATE_ASM_DISALLOWED
#define COR_E_ASSEMBLYEXPECTED
#define CLDB_E_FILE_OLDVER
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define ERROR_INVALID_NAME
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
BOOL WINAPI SetEndOfFile(HANDLE hFile)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
BOOL WINAPI WriteFile(_In_ HANDLE hFile, _In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
UINT WINAPI GetWindowsDirectoryA(OUT LPSTR lpBuffer, IN UINT uSize)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
_ACRTIMP size_t __cdecl strlen(const char *)
static const WCHAR Signature[]
#define ASSEMBLYINFO_FLAG_INSTALLED
static const WCHAR szDllName[]
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define ERROR_FILE_NOT_FOUND
static BOOL init_functionpointers(void)
static void test_QueryAssemblyInfo(void)
static LPWSTR pwzCachePath
static void test_CreateAssemblyCache(void)
static void create_file_data(LPCSTR name, LPCSTR data, DWORD size)
static void test_CreateAssemblyCacheItem(void)
static void create_assembly(LPCSTR file)
#define create_file(name, size)
static BOOL check_dotnet20(void)
static LPCWSTR LPVOID pvReserved
static void test_InstallAssembly(void)
static LPCWSTR LPVOID HMODULE * phModDll
static LPWSTR PDWORD pcchPath
_In_ ULONG _In_ ULONG Offset
#define IMAGE_NT_OPTIONAL_HDR32_MAGIC
#define IMAGE_SUBSYSTEM_WINDOWS_CUI
#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT
#define IMAGE_SCN_CNT_INITIALIZED_DATA
#define IMAGE_SCN_CNT_CODE
#define IMAGE_SCN_MEM_EXECUTE
#define IMAGE_SCN_MEM_DISCARDABLE
#define IMAGE_DLLCHARACTERISTICS_NO_SEH
#define IMAGE_SCN_MEM_READ
#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
#define IMAGE_FILE_EXECUTABLE_IMAGE
#define IMAGE_FILE_MACHINE_I386
#define IMAGE_FILE_LOCAL_SYMS_STRIPPED
#define IMAGE_NT_SIGNATURE
#define IMAGE_FILE_LINE_NUMS_STRIPPED
#define IMAGE_DOS_SIGNATURE
#define IMAGE_FILE_32BIT_MACHINE
IMAGE_COR20_HEADER clrhdr
IMAGE_IMPORT_DESCRIPTOR importdesc
IMAGE_RESOURCE_DIRECTORY topresdir
METADATASTREAMHDR guidhdr
IMPORTLOOKUPTABLE importlookup
IMAGE_RESOURCE_DIRECTORY res10dir
IMAGE_SECTION_HEADER rsrc
IMAGE_NT_HEADERS32 nthdrs
IMAGE_RESOURCE_DIRECTORY_ENTRY label10res
IMAGE_RESOURCE_DATA_ENTRY resdata
IMAGE_RESOURCE_DIRECTORY_ENTRY label11res
METADATASTREAMHDR roothdr
IMAGE_RESOURCE_DIRECTORY res11dir
MANIFESTRESTABLE manifestrestable
IMAGE_RESOURCE_DIRECTORY_ENTRY labelres
HINTNAMETABLE hintnametable
IMAGE_SECTION_HEADER reloc
STRINGFILEINFO strfileinfo
METADATASTREAMHDR blobhdr
IMAGE_SECTION_HEADER text
METADATATABLESHDR tableshdr
METADATASTREAMHDR stringshdr
#define VS_FFI_STRUCVERSION
#define VS_FFI_FILEFLAGSMASK
#define INVALID_FILE_ATTRIBUTES
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Reserved_ PVOID Reserved
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define E_NOT_SUFFICIENT_BUFFER
@ COMIMAGE_FLAGS_STRONGNAMESIGNED
struct _ASSEMBLY_INFO ASSEMBLY_INFO