aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/api/burn/balutil/balinfo.cpp4
-rw-r--r--src/burn/engine/bundlepackageengine.cpp2
-rw-r--r--src/burn/engine/cache.cpp10
-rw-r--r--src/burn/engine/condition.cpp6
-rw-r--r--src/burn/engine/core.cpp98
-rw-r--r--src/burn/engine/dependency.cpp12
-rw-r--r--src/burn/engine/detect.cpp2
-rw-r--r--src/burn/engine/elevation.cpp4
-rw-r--r--src/burn/engine/msiengine.cpp4
-rw-r--r--src/burn/engine/relatedbundle.cpp6
-rw-r--r--src/burn/engine/variable.cpp2
-rw-r--r--src/burn/test/BurnUnitTest/PlanTest.cpp4
-rw-r--r--src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp4
-rw-r--r--src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp6
-rw-r--r--src/ext/Iis/ca/scaapppool.cpp18
-rw-r--r--src/ext/Iis/ca/scaexecIIS7.cpp18
-rw-r--r--src/ext/Iis/ca/scawebappext.cpp2
-rw-r--r--src/ext/NetFx/netcoresearch/netcoresearch.cpp8
-rw-r--r--src/ext/VisualStudio/ca/vsca.cpp4
-rw-r--r--src/libs/dutil/WixToolset.DUtil/acl2util.cpp2
-rw-r--r--src/libs/dutil/WixToolset.DUtil/apuputil.cpp10
-rw-r--r--src/libs/dutil/WixToolset.DUtil/iis7util.cpp6
-rw-r--r--src/libs/dutil/WixToolset.DUtil/path2utl.cpp4
-rw-r--r--src/tools/thmviewer/load.cpp2
-rw-r--r--src/tools/thmviewer/thmviewer.cpp4
-rw-r--r--src/wix/wixnative/wixnative.cpp8
26 files changed, 125 insertions, 125 deletions
diff --git a/src/api/burn/balutil/balinfo.cpp b/src/api/burn/balutil/balinfo.cpp
index 6f609a40..8784a380 100644
--- a/src/api/burn/balutil/balinfo.cpp
+++ b/src/api/burn/balutil/balinfo.cpp
@@ -43,14 +43,14 @@ DAPI_(HRESULT) BalInfoParseCommandLine(
43 43
44 if (argv[i][0] == L'-' || argv[i][0] == L'/') 44 if (argv[i][0] == L'-' || argv[i][0] == L'/')
45 { 45 {
46 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"norestart", -1)) 46 if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"norestart", -1, TRUE))
47 { 47 {
48 if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) 48 if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart)
49 { 49 {
50 pCommand->restart = BAL_INFO_RESTART_NEVER; 50 pCommand->restart = BAL_INFO_RESTART_NEVER;
51 } 51 }
52 } 52 }
53 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"forcerestart", -1)) 53 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"forcerestart", -1, TRUE))
54 { 54 {
55 if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) 55 if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart)
56 { 56 {
diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp
index db433918..1a8ba982 100644
--- a/src/burn/engine/bundlepackageengine.cpp
+++ b/src/burn/engine/bundlepackageengine.cpp
@@ -686,7 +686,7 @@ static BUNDLE_QUERY_CALLBACK_RESULT CALLBACK QueryRelatedBundlesCallback(
686 BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType); 686 BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType);
687 BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext; 687 BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext;
688 688
689 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleCode, -1, pPackage->Bundle.sczBundleCode, -1) && 689 if (CSTR_EQUAL == ::CompareStringOrdinal(pBundle->wzBundleCode, -1, pPackage->Bundle.sczBundleCode, -1, TRUE) &&
690 pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness)) 690 pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness))
691 { 691 {
692 Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType); 692 Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType);
diff --git a/src/burn/engine/cache.cpp b/src/burn/engine/cache.cpp
index e432df69..f5df6500 100644
--- a/src/burn/engine/cache.cpp
+++ b/src/burn/engine/cache.cpp
@@ -619,8 +619,8 @@ extern "C" HRESULT CacheGetLocalSourcePaths(
619 619
620 hr = GetLastUsedSourceFolder(pVariables, &sczLastSourceFolder); 620 hr = GetLastUsedSourceFolder(pVariables, &sczLastSourceFolder);
621 fPreferSourcePathLocation = !pCache->fRunningFromCache || FAILED(hr); 621 fPreferSourcePathLocation = !pCache->fRunningFromCache || FAILED(hr);
622 fTryLastFolder = SUCCEEDED(hr) && sczLastSourceFolder && *sczLastSourceFolder && CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCache->sczSourceProcessFolder, -1, sczLastSourceFolder, -1); 622 fTryLastFolder = SUCCEEDED(hr) && sczLastSourceFolder && *sczLastSourceFolder && CSTR_EQUAL != ::CompareStringOrdinal(pCache->sczSourceProcessFolder, -1, sczLastSourceFolder, -1, TRUE);
623 fTryRelativePath = CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzSourcePath, -1, wzRelativePath, -1); 623 fTryRelativePath = CSTR_EQUAL != ::CompareStringOrdinal(wzSourcePath, -1, wzRelativePath, -1, TRUE);
624 fSourceIsAbsolute = PathIsRooted(wzSourcePath); 624 fSourceIsAbsolute = PathIsRooted(wzSourcePath);
625 625
626 // If the source path provided is a full path, try that first. 626 // If the source path provided is a full path, try that first.
@@ -797,7 +797,7 @@ extern "C" HRESULT CacheSetLastUsedSource(
797 797
798 // If the source path ends with the relative path then this source could be a new path. 798 // If the source path ends with the relative path then this source could be a new path.
799 iSourceRelativePath = cchSourcePath - cchRelativePath; 799 iSourceRelativePath = cchSourcePath - cchRelativePath;
800 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzSourcePath + iSourceRelativePath, -1, wzRelativePath, -1)) 800 if (CSTR_EQUAL == ::CompareStringOrdinal(wzSourcePath + iSourceRelativePath, -1, wzRelativePath, -1, TRUE))
801 { 801 {
802 hr = StrAllocString(&sczSourceFolder, wzSourcePath, iSourceRelativePath); 802 hr = StrAllocString(&sczSourceFolder, wzSourcePath, iSourceRelativePath);
803 ExitOnFailure(hr, "Failed to trim source folder."); 803 ExitOnFailure(hr, "Failed to trim source folder.");
@@ -805,7 +805,7 @@ extern "C" HRESULT CacheSetLastUsedSource(
805 hr = VariableGetString(pVariables, BURN_BUNDLE_LAST_USED_SOURCE, &sczLastSourceFolder); 805 hr = VariableGetString(pVariables, BURN_BUNDLE_LAST_USED_SOURCE, &sczLastSourceFolder);
806 if (SUCCEEDED(hr)) 806 if (SUCCEEDED(hr))
807 { 807 {
808 nCompare = ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczSourceFolder, -1, sczLastSourceFolder, -1); 808 nCompare = ::CompareStringOrdinal(sczSourceFolder, -1, sczLastSourceFolder, -1, TRUE);
809 } 809 }
810 else if (E_NOTFOUND == hr) 810 else if (E_NOTFOUND == hr)
811 { 811 {
@@ -1031,7 +1031,7 @@ extern "C" HRESULT CacheCompleteBundle(
1031 ExitOnFailure(hr, "Failed to combine completed path with engine file name."); 1031 ExitOnFailure(hr, "Failed to combine completed path with engine file name.");
1032 1032
1033 // We can't just use wzExecutablePath because we needed to call CreateCompletedPath to ensure that the destination was secured. 1033 // We can't just use wzExecutablePath because we needed to call CreateCompletedPath to ensure that the destination was secured.
1034 Assert(CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzExecutablePath, -1, sczTargetPath, -1)); 1034 Assert(CSTR_EQUAL == ::CompareStringOrdinal(wzExecutablePath, -1, sczTargetPath, -1, TRUE));
1035 1035
1036 // If the bundle is running out of the package cache then we don't need to copy it there 1036 // If the bundle is running out of the package cache then we don't need to copy it there
1037 // (and don't want to since it'll be in use) so bail. 1037 // (and don't want to since it'll be in use) so bail.
diff --git a/src/burn/engine/condition.cpp b/src/burn/engine/condition.cpp
index 8fa62f16..ecce2d5c 100644
--- a/src/burn/engine/condition.cpp
+++ b/src/burn/engine/condition.cpp
@@ -740,17 +740,17 @@ static HRESULT NextSymbol(
740 ::GetStringTypeW(CT_CTYPE1, &pContext->wzRead[n], 1, &charType); 740 ::GetStringTypeW(CT_CTYPE1, &pContext->wzRead[n], 1, &charType);
741 } while (C1_ALPHA & charType || C1_DIGIT & charType || L'_' == pContext->wzRead[n]); 741 } while (C1_ALPHA & charType || C1_DIGIT & charType || L'_' == pContext->wzRead[n]);
742 742
743 if (2 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 2, L"OR", 2)) 743 if (2 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 2, L"OR", 2, TRUE))
744 { 744 {
745 // OR 745 // OR
746 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_OR; 746 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_OR;
747 } 747 }
748 else if (3 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 3, L"AND", 3)) 748 else if (3 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 3, L"AND", 3, TRUE))
749 { 749 {
750 // AND 750 // AND
751 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_AND; 751 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_AND;
752 } 752 }
753 else if (3 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 3, L"NOT", 3)) 753 else if (3 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 3, L"NOT", 3, TRUE))
754 { 754 {
755 // NOT 755 // NOT
756 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_NOT; 756 pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_NOT;
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp
index b20f7f0c..de202321 100644
--- a/src/burn/engine/core.cpp
+++ b/src/burn/engine/core.cpp
@@ -1215,8 +1215,8 @@ HRESULT CoreAppendLogToCommandLine(
1215 if (rgszArgs[i][0] == L'-' || rgszArgs[i][0] == L'/') 1215 if (rgszArgs[i][0] == L'-' || rgszArgs[i][0] == L'/')
1216 { 1216 {
1217 // Now looking for 'log' or 'l' 1217 // Now looking for 'log' or 'l'
1218 if ((CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &rgszArgs[i][1], -1, L"log", -1)) 1218 if ((CSTR_EQUAL == ::CompareStringOrdinal(&rgszArgs[i][1], -1, L"log", -1, TRUE))
1219 || (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &rgszArgs[i][1], -1, L"l", -1))) 1219 || (CSTR_EQUAL == ::CompareStringOrdinal(&rgszArgs[i][1], -1, L"l", -1, TRUE)))
1220 { 1220 {
1221 ExitFunction1(hr = S_FALSE); 1221 ExitFunction1(hr = S_FALSE);
1222 } 1222 }
@@ -1360,13 +1360,13 @@ extern "C" HRESULT CoreParseCommandLine(
1360 1360
1361 if (argv[i][0] == L'-' || argv[i][0] == L'/') 1361 if (argv[i][0] == L'-' || argv[i][0] == L'/')
1362 { 1362 {
1363 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"l", -1) || 1363 if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"l", -1, TRUE) ||
1364 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"log", -1) || 1364 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"log", -1, TRUE) ||
1365 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"xlog", -1)) 1365 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"xlog", -1, TRUE))
1366 { 1366 {
1367 pInternalCommand->dwLoggingAttributes &= ~BURN_LOGGING_ATTRIBUTE_APPEND; 1367 pInternalCommand->dwLoggingAttributes &= ~BURN_LOGGING_ATTRIBUTE_APPEND;
1368 1368
1369 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], 1, L"x", 1)) 1369 if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], 1, L"x", 1, TRUE))
1370 { 1370 {
1371 pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_VERBOSE | BURN_LOGGING_ATTRIBUTE_EXTRADEBUG; 1371 pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_VERBOSE | BURN_LOGGING_ATTRIBUTE_EXTRADEBUG;
1372 } 1372 }
@@ -1382,24 +1382,24 @@ extern "C" HRESULT CoreParseCommandLine(
1382 hr = PathExpand(&pInternalCommand->sczLogFile, argv[i], PATH_EXPAND_FULLPATH); 1382 hr = PathExpand(&pInternalCommand->sczLogFile, argv[i], PATH_EXPAND_FULLPATH);
1383 ExitOnFailure(hr, "Failed to copy log file path."); 1383 ExitOnFailure(hr, "Failed to copy log file path.");
1384 } 1384 }
1385 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"?", -1) || 1385 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"?", -1, TRUE) ||
1386 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"h", -1) || 1386 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"h", -1, TRUE) ||
1387 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"help", -1)) 1387 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"help", -1, TRUE))
1388 { 1388 {
1389 pCommand->action = BOOTSTRAPPER_ACTION_HELP; 1389 pCommand->action = BOOTSTRAPPER_ACTION_HELP;
1390 } 1390 }
1391 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"q", -1) || 1391 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"q", -1, TRUE) ||
1392 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"quiet", -1) || 1392 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"quiet", -1, TRUE) ||
1393 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"s", -1) || 1393 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"s", -1, TRUE) ||
1394 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"silent", -1)) 1394 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"silent", -1, TRUE))
1395 { 1395 {
1396 pCommand->display = BOOTSTRAPPER_DISPLAY_NONE; 1396 pCommand->display = BOOTSTRAPPER_DISPLAY_NONE;
1397 } 1397 }
1398 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"passive", -1)) 1398 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"passive", -1, TRUE))
1399 { 1399 {
1400 pCommand->display = BOOTSTRAPPER_DISPLAY_PASSIVE; 1400 pCommand->display = BOOTSTRAPPER_DISPLAY_PASSIVE;
1401 } 1401 }
1402 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"layout", -1)) 1402 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"layout", -1, TRUE))
1403 { 1403 {
1404 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) 1404 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action)
1405 { 1405 {
@@ -1415,47 +1415,47 @@ extern "C" HRESULT CoreParseCommandLine(
1415 ExitOnFailure(hr, "Failed to copy path for layout directory."); 1415 ExitOnFailure(hr, "Failed to copy path for layout directory.");
1416 } 1416 }
1417 } 1417 }
1418 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"unsafeuninstall", -1)) 1418 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"unsafeuninstall", -1, TRUE))
1419 { 1419 {
1420 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) 1420 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action)
1421 { 1421 {
1422 pCommand->action = BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL; 1422 pCommand->action = BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL;
1423 } 1423 }
1424 } 1424 }
1425 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"uninstall", -1)) 1425 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"uninstall", -1, TRUE))
1426 { 1426 {
1427 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) 1427 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action)
1428 { 1428 {
1429 pCommand->action = BOOTSTRAPPER_ACTION_UNINSTALL; 1429 pCommand->action = BOOTSTRAPPER_ACTION_UNINSTALL;
1430 } 1430 }
1431 } 1431 }
1432 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"repair", -1)) 1432 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"repair", -1, TRUE))
1433 { 1433 {
1434 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) 1434 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action)
1435 { 1435 {
1436 pCommand->action = BOOTSTRAPPER_ACTION_REPAIR; 1436 pCommand->action = BOOTSTRAPPER_ACTION_REPAIR;
1437 } 1437 }
1438 } 1438 }
1439 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"modify", -1)) 1439 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"modify", -1, TRUE))
1440 { 1440 {
1441 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) 1441 if (BOOTSTRAPPER_ACTION_HELP != pCommand->action)
1442 { 1442 {
1443 pCommand->action = BOOTSTRAPPER_ACTION_MODIFY; 1443 pCommand->action = BOOTSTRAPPER_ACTION_MODIFY;
1444 } 1444 }
1445 } 1445 }
1446 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"package", -1) || 1446 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"package", -1, TRUE) ||
1447 CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"update", -1)) 1447 CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"update", -1, TRUE))
1448 { 1448 {
1449 if (BOOTSTRAPPER_ACTION_UNKNOWN == pCommand->action) 1449 if (BOOTSTRAPPER_ACTION_UNKNOWN == pCommand->action)
1450 { 1450 {
1451 pCommand->action = BOOTSTRAPPER_ACTION_INSTALL; 1451 pCommand->action = BOOTSTRAPPER_ACTION_INSTALL;
1452 } 1452 }
1453 } 1453 }
1454 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"noaupause", -1)) 1454 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"noaupause", -1, TRUE))
1455 { 1455 {
1456 pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_NONE; 1456 pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_NONE;
1457 } 1457 }
1458 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"keepaupaused", -1)) 1458 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"keepaupaused", -1, TRUE))
1459 { 1459 {
1460 // Switch /noaupause takes precedence. 1460 // Switch /noaupause takes precedence.
1461 if (BURN_AU_PAUSE_ACTION_NONE != pInternalCommand->automaticUpdates) 1461 if (BURN_AU_PAUSE_ACTION_NONE != pInternalCommand->automaticUpdates)
@@ -1463,11 +1463,11 @@ extern "C" HRESULT CoreParseCommandLine(
1463 pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED_NORESUME; 1463 pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED_NORESUME;
1464 } 1464 }
1465 } 1465 }
1466 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"disablesystemrestore", -1)) 1466 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"disablesystemrestore", -1, TRUE))
1467 { 1467 {
1468 pInternalCommand->fDisableSystemRestore = TRUE; 1468 pInternalCommand->fDisableSystemRestore = TRUE;
1469 } 1469 }
1470 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"originalsource", -1)) 1470 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"originalsource", -1, TRUE))
1471 { 1471 {
1472 if (i + 1 >= argc) 1472 if (i + 1 >= argc)
1473 { 1473 {
@@ -1479,7 +1479,7 @@ extern "C" HRESULT CoreParseCommandLine(
1479 hr = PathExpand(&pInternalCommand->sczOriginalSource, argv[i], PATH_EXPAND_FULLPATH); 1479 hr = PathExpand(&pInternalCommand->sczOriginalSource, argv[i], PATH_EXPAND_FULLPATH);
1480 ExitOnFailure(hr, "Failed to copy last used source."); 1480 ExitOnFailure(hr, "Failed to copy last used source.");
1481 } 1481 }
1482 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT, -1)) 1482 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT, -1, TRUE))
1483 { 1483 {
1484 if (i + 1 >= argc) 1484 if (i + 1 >= argc)
1485 { 1485 {
@@ -1492,12 +1492,12 @@ extern "C" HRESULT CoreParseCommandLine(
1492 hr = StrAllocString(&pInternalCommand->sczActiveParent, argv[i], 0); 1492 hr = StrAllocString(&pInternalCommand->sczActiveParent, argv[i], 0);
1493 ExitOnFailure(hr, "Failed to copy parent."); 1493 ExitOnFailure(hr, "Failed to copy parent.");
1494 } 1494 }
1495 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT_NONE, -1)) 1495 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT_NONE, -1, TRUE))
1496 { 1496 {
1497 hr = StrAllocString(&pInternalCommand->sczActiveParent, L"", 0); 1497 hr = StrAllocString(&pInternalCommand->sczActiveParent, L"", 0);
1498 ExitOnFailure(hr, "Failed to initialize parent to none."); 1498 ExitOnFailure(hr, "Failed to initialize parent to none.");
1499 } 1499 }
1500 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_LOG_APPEND, -1)) 1500 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_LOG_APPEND, -1, TRUE))
1501 { 1501 {
1502 if (i + 1 >= argc) 1502 if (i + 1 >= argc)
1503 { 1503 {
@@ -1512,7 +1512,7 @@ extern "C" HRESULT CoreParseCommandLine(
1512 1512
1513 pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_APPEND; 1513 pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_APPEND;
1514 } 1514 }
1515 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE), BURN_COMMANDLINE_SWITCH_LOG_MODE, -1)) 1515 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE), BURN_COMMANDLINE_SWITCH_LOG_MODE, -1, TRUE))
1516 { 1516 {
1517 // Get a pointer to the next character after the switch. 1517 // Get a pointer to the next character after the switch.
1518 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE)]; 1518 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE)];
@@ -1541,7 +1541,7 @@ extern "C" HRESULT CoreParseCommandLine(
1541 } 1541 }
1542 } 1542 }
1543 } 1543 }
1544 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_ELEVATED, -1)) 1544 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_ELEVATED, -1, TRUE))
1545 { 1545 {
1546 if (i + 3 >= argc) 1546 if (i + 3 >= argc)
1547 { 1547 {
@@ -1579,7 +1579,7 @@ extern "C" HRESULT CoreParseCommandLine(
1579 1579
1580 i += 2; 1580 i += 2;
1581 } 1581 }
1582 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT, lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT))) 1582 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT, lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), TRUE))
1583 { 1583 {
1584 // Get a pointer to the next character after the switch. 1584 // Get a pointer to the next character after the switch.
1585 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT)]; 1585 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT)];
@@ -1602,7 +1602,7 @@ extern "C" HRESULT CoreParseCommandLine(
1602 pInternalCommand->fArpSystemComponent = TRUE; 1602 pInternalCommand->fArpSystemComponent = TRUE;
1603 } 1603 }
1604 } 1604 }
1605 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_EMBEDDED, -1)) 1605 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_EMBEDDED, -1, TRUE))
1606 { 1606 {
1607 if (i + 3 >= argc) 1607 if (i + 3 >= argc)
1608 { 1608 {
@@ -1633,59 +1633,59 @@ extern "C" HRESULT CoreParseCommandLine(
1633 1633
1634 i += 2; 1634 i += 2;
1635 } 1635 }
1636 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DETECT, -1)) 1636 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DETECT, -1, TRUE))
1637 { 1637 {
1638 pCommand->relationType = BOOTSTRAPPER_RELATION_DETECT; 1638 pCommand->relationType = BOOTSTRAPPER_RELATION_DETECT;
1639 1639
1640 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1640 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1641 } 1641 }
1642 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE, -1)) 1642 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE, -1, TRUE))
1643 { 1643 {
1644 pCommand->relationType = BOOTSTRAPPER_RELATION_UPGRADE; 1644 pCommand->relationType = BOOTSTRAPPER_RELATION_UPGRADE;
1645 1645
1646 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1646 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1647 } 1647 }
1648 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_ADDON, -1)) 1648 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_ADDON, -1, TRUE))
1649 { 1649 {
1650 pCommand->relationType = BOOTSTRAPPER_RELATION_ADDON; 1650 pCommand->relationType = BOOTSTRAPPER_RELATION_ADDON;
1651 1651
1652 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1652 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1653 } 1653 }
1654 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1)) 1654 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1, TRUE))
1655 { 1655 {
1656 pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON; 1656 pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON;
1657 1657
1658 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1658 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1659 } 1659 }
1660 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1)) 1660 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1, TRUE))
1661 { 1661 {
1662 pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH; 1662 pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH;
1663 1663
1664 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1664 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1665 } 1665 }
1666 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1)) 1666 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1, TRUE))
1667 { 1667 {
1668 pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH; 1668 pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH;
1669 1669
1670 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1670 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1671 } 1671 }
1672 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1)) 1672 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1, TRUE))
1673 { 1673 {
1674 pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE; 1674 pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE;
1675 1675
1676 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1676 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1677 } 1677 }
1678 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE, -1)) 1678 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE, -1, TRUE))
1679 { 1679 {
1680 pCommand->relationType = BOOTSTRAPPER_RELATION_CHAIN_PACKAGE; 1680 pCommand->relationType = BOOTSTRAPPER_RELATION_CHAIN_PACKAGE;
1681 1681
1682 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); 1682 LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType));
1683 } 1683 }
1684 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1)) 1684 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1, TRUE))
1685 { 1685 {
1686 pCommand->fPassthrough = TRUE; 1686 pCommand->fPassthrough = TRUE;
1687 } 1687 }
1688 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RUNONCE, -1)) 1688 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RUNONCE, -1, TRUE))
1689 { 1689 {
1690 switch (pInternalCommand->mode) 1690 switch (pInternalCommand->mode)
1691 { 1691 {
@@ -1698,7 +1698,7 @@ extern "C" HRESULT CoreParseCommandLine(
1698 TraceLog(E_INVALIDARG, "Multiple mode command-line switches were provided."); 1698 TraceLog(E_INVALIDARG, "Multiple mode command-line switches were provided.");
1699 } 1699 }
1700 } 1700 }
1701 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES, lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES))) 1701 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES, lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), TRUE))
1702 { 1702 {
1703 // Get a pointer to the next character after the switch. 1703 // Get a pointer to the next character after the switch.
1704 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES)]; 1704 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES)];
@@ -1713,7 +1713,7 @@ extern "C" HRESULT CoreParseCommandLine(
1713 ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore."); 1713 ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore.");
1714 } 1714 }
1715 } 1715 }
1716 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), BURN_COMMANDLINE_SWITCH_ANCESTORS, lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS))) 1716 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), BURN_COMMANDLINE_SWITCH_ANCESTORS, lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), TRUE))
1717 { 1717 {
1718 // Get a pointer to the next character after the switch. 1718 // Get a pointer to the next character after the switch.
1719 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS)]; 1719 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS)];
@@ -1728,7 +1728,7 @@ extern "C" HRESULT CoreParseCommandLine(
1728 ExitOnFailure(hr, "Failed to allocate the list of ancestors."); 1728 ExitOnFailure(hr, "Failed to allocate the list of ancestors.");
1729 } 1729 }
1730 } 1730 }
1731 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY, lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY))) 1731 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY, lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), TRUE))
1732 { 1732 {
1733 // Get a pointer to the next character after the switch. 1733 // Get a pointer to the next character after the switch.
1734 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY)]; 1734 LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY)];
@@ -1743,7 +1743,7 @@ extern "C" HRESULT CoreParseCommandLine(
1743 ExitOnFailure(hr, "Failed to store the custom working directory."); 1743 ExitOnFailure(hr, "Failed to store the custom working directory.");
1744 } 1744 }
1745 } 1745 }
1746 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED))) 1746 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), TRUE))
1747 { 1747 {
1748 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED)]; 1748 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED)];
1749 if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) 1749 if (L'=' != wzParam[-1] || L'\0' == wzParam[0])
@@ -1765,7 +1765,7 @@ extern "C" HRESULT CoreParseCommandLine(
1765 } 1765 }
1766 } 1766 }
1767 } 1767 }
1768 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF))) 1768 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), TRUE))
1769 { 1769 {
1770 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF)]; 1770 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF)];
1771 if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) 1771 if (L'=' != wzParam[-1] || L'\0' == wzParam[0])
@@ -1787,7 +1787,7 @@ extern "C" HRESULT CoreParseCommandLine(
1787 } 1787 }
1788 } 1788 }
1789 } 1789 }
1790 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN, lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN))) 1790 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN, lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), TRUE))
1791 { 1791 {
1792 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN)]; 1792 LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN)];
1793 if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) 1793 if (L'=' != wzParam[-1] || L'\0' == wzParam[0])
@@ -1809,7 +1809,7 @@ extern "C" HRESULT CoreParseCommandLine(
1809 } 1809 }
1810 } 1810 }
1811 } 1811 }
1812 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), BURN_COMMANDLINE_SWITCH_PREFIX, lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX))) 1812 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), BURN_COMMANDLINE_SWITCH_PREFIX, lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), TRUE))
1813 { 1813 {
1814 // Skip (but log) any other private burn switches we don't recognize, so that 1814 // Skip (but log) any other private burn switches we don't recognize, so that
1815 // adding future private variables doesn't break old bundles 1815 // adding future private variables doesn't break old bundles
diff --git a/src/burn/engine/dependency.cpp b/src/burn/engine/dependency.cpp
index f398a070..767d5004 100644
--- a/src/burn/engine/dependency.cpp
+++ b/src/burn/engine/dependency.cpp
@@ -263,7 +263,7 @@ extern "C" HRESULT DependencyDetectProviderKeyBundleCode(
263 hr = StrAllocString(&pRegistration->sczDetectedProviderKeyBundleCode, pRegistration->sczProviderKey, 0); 263 hr = StrAllocString(&pRegistration->sczDetectedProviderKeyBundleCode, pRegistration->sczProviderKey, 0);
264 ExitOnFailure(hr, "Failed to initialize provider key bundle code."); 264 ExitOnFailure(hr, "Failed to initialize provider key bundle code.");
265 } 265 }
266 else if (CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczCode, -1, pRegistration->sczDetectedProviderKeyBundleCode, -1)) 266 else if (CSTR_EQUAL != ::CompareStringOrdinal(pRegistration->sczCode, -1, pRegistration->sczDetectedProviderKeyBundleCode, -1, TRUE))
267 { 267 {
268 pRegistration->fDetectedForeignProviderKeyBundleCode = TRUE; 268 pRegistration->fDetectedForeignProviderKeyBundleCode = TRUE;
269 LogId(REPORT_STANDARD, MSG_DETECTED_FOREIGN_BUNDLE_PROVIDER_REGISTRATION, pRegistration->sczProviderKey, pRegistration->sczDetectedProviderKeyBundleCode); 269 LogId(REPORT_STANDARD, MSG_DETECTED_FOREIGN_BUNDLE_PROVIDER_REGISTRATION, pRegistration->sczProviderKey, pRegistration->sczDetectedProviderKeyBundleCode);
@@ -293,12 +293,12 @@ extern "C" HRESULT DependencyDetectBundle(
293 { 293 {
294 DEPENDENCY* pDependent = pRegistration->rgDependents + i; 294 DEPENDENCY* pDependent = pRegistration->rgDependents + i;
295 295
296 if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzActiveParent, -1, pDependent->sczKey, -1)) 296 if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzActiveParent, -1, pDependent->sczKey, -1, TRUE))
297 { 297 {
298 pRegistration->fParentRegisteredAsDependent = TRUE; 298 pRegistration->fParentRegisteredAsDependent = TRUE;
299 } 299 }
300 300
301 if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzSelfDependent, -1, pDependent->sczKey, -1)) 301 if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzSelfDependent, -1, pDependent->sczKey, -1, TRUE))
302 { 302 {
303 pRegistration->fSelfRegisteredAsDependent = TRUE; 303 pRegistration->fSelfRegisteredAsDependent = TRUE;
304 } 304 }
@@ -905,7 +905,7 @@ extern "C" HRESULT DependencyDetectCompatibleEntry(
905 continue; 905 continue;
906 } 906 }
907 } 907 }
908 else if (sczId && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzPackageProviderId, -1, sczId, -1)) 908 else if (sczId && CSTR_EQUAL == ::CompareStringOrdinal(wzPackageProviderId, -1, sczId, -1, TRUE))
909 { 909 {
910 continue; 910 continue;
911 } 911 }
@@ -969,7 +969,7 @@ static HRESULT DetectPackageDependents(
969 { 969 {
970 DEPENDENCY* pDependent = pProvider->rgDependents + iDependent; 970 DEPENDENCY* pDependent = pProvider->rgDependents + iDependent;
971 971
972 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczCode, -1, pDependent->sczKey, -1)) 972 if (CSTR_EQUAL == ::CompareStringOrdinal(pRegistration->sczCode, -1, pDependent->sczKey, -1, TRUE))
973 { 973 {
974 pProvider->fBundleRegisteredAsDependent = TRUE; 974 pProvider->fBundleRegisteredAsDependent = TRUE;
975 fBundleRegisteredAsDependent = TRUE; 975 fBundleRegisteredAsDependent = TRUE;
@@ -1043,7 +1043,7 @@ static HRESULT SplitIgnoreDependencies(
1043 hr = DictAddKey(sdIgnoreDependencies, wzToken); 1043 hr = DictAddKey(sdIgnoreDependencies, wzToken);
1044 ExitOnFailure(hr, "Failed to add \"%ls\" to the string dictionary.", wzToken); 1044 ExitOnFailure(hr, "Failed to add \"%ls\" to the string dictionary.", wzToken);
1045 1045
1046 if (!*pfIgnoreAll && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, L"ALL", -1, wzToken, -1)) 1046 if (!*pfIgnoreAll && CSTR_EQUAL == ::CompareStringOrdinal(L"ALL", -1, wzToken, -1, TRUE))
1047 { 1047 {
1048 *pfIgnoreAll = TRUE; 1048 *pfIgnoreAll = TRUE;
1049 } 1049 }
diff --git a/src/burn/engine/detect.cpp b/src/burn/engine/detect.cpp
index 08f6b57c..c19d382c 100644
--- a/src/burn/engine/detect.cpp
+++ b/src/burn/engine/detect.cpp
@@ -130,7 +130,7 @@ extern "C" HRESULT DetectForwardCompatibleBundles(
130 BURN_RELATED_BUNDLE* pRelatedBundle = pRegistration->relatedBundles.rgRelatedBundles + iRelatedBundle; 130 BURN_RELATED_BUNDLE* pRelatedBundle = pRegistration->relatedBundles.rgRelatedBundles + iRelatedBundle;
131 131
132 if (BOOTSTRAPPER_RELATION_UPGRADE == pRelatedBundle->detectRelationType && 132 if (BOOTSTRAPPER_RELATION_UPGRADE == pRelatedBundle->detectRelationType &&
133 CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczDetectedProviderKeyBundleCode, -1, pRelatedBundle->package.sczId, -1)) 133 CSTR_EQUAL == ::CompareStringOrdinal(pRegistration->sczDetectedProviderKeyBundleCode, -1, pRelatedBundle->package.sczId, -1, TRUE))
134 { 134 {
135 hr = VerCompareParsedVersions(pRegistration->pVersion, pRelatedBundle->pVersion, &nCompareResult); 135 hr = VerCompareParsedVersions(pRegistration->pVersion, pRelatedBundle->pVersion, &nCompareResult);
136 ExitOnFailure(hr, "Failed to compare bundle version '%ls' to related bundle version '%ls'", pRegistration->pVersion->sczVersion, pRelatedBundle->pVersion->sczVersion); 136 ExitOnFailure(hr, "Failed to compare bundle version '%ls' to related bundle version '%ls'", pRegistration->pVersion->sczVersion, pRelatedBundle->pVersion->sczVersion);
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp
index f208efc9..aff05ae3 100644
--- a/src/burn/engine/elevation.cpp
+++ b/src/burn/engine/elevation.cpp
@@ -3380,7 +3380,7 @@ static HRESULT OnUninstallMsiCompatiblePackage(
3380 } 3380 }
3381 3381
3382 if (!sczCompatiblePackageId || !*sczCompatiblePackageId || 3382 if (!sczCompatiblePackageId || !*sczCompatiblePackageId ||
3383 CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1)) 3383 CSTR_EQUAL != ::CompareStringOrdinal(pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1, TRUE))
3384 { 3384 {
3385 ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); 3385 ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId);
3386 } 3386 }
@@ -3792,7 +3792,7 @@ static HRESULT OnCleanCompatiblePackage(
3792 } 3792 }
3793 3793
3794 if (!sczCompatiblePackageId || !*sczCompatiblePackageId || 3794 if (!sczCompatiblePackageId || !*sczCompatiblePackageId ||
3795 CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1)) 3795 CSTR_EQUAL != ::CompareStringOrdinal(pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1, TRUE))
3796 { 3796 {
3797 ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); 3797 ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId);
3798 } 3798 }
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp
index d5268b17..86fb0d9d 100644
--- a/src/burn/engine/msiengine.cpp
+++ b/src/burn/engine/msiengine.cpp
@@ -523,7 +523,7 @@ extern "C" HRESULT MsiEngineDetectPackage(
523 ExitOnFailure(hr, "Failed to enum related products."); 523 ExitOnFailure(hr, "Failed to enum related products.");
524 524
525 // If we found ourselves, skip because saying that a package is related to itself is nonsensical. 525 // If we found ourselves, skip because saying that a package is related to itself is nonsensical.
526 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pPackage->Msi.sczProductCode, -1, wzProductCode, -1)) 526 if (CSTR_EQUAL == ::CompareStringOrdinal(pPackage->Msi.sczProductCode, -1, wzProductCode, -1, TRUE))
527 { 527 {
528 continue; 528 continue;
529 } 529 }
@@ -631,7 +631,7 @@ extern "C" HRESULT MsiEngineDetectPackage(
631 } 631 }
632 // It can't be a downgrade if the upgrade codes aren't the same. 632 // It can't be a downgrade if the upgrade codes aren't the same.
633 else if (BOOTSTRAPPER_PACKAGE_STATE_ABSENT == pPackage->currentState && 633 else if (BOOTSTRAPPER_PACKAGE_STATE_ABSENT == pPackage->currentState &&
634 pPackage->Msi.sczUpgradeCode && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pPackage->Msi.sczUpgradeCode, -1, pRelatedMsi->sczUpgradeCode, -1)) 634 pPackage->Msi.sczUpgradeCode && CSTR_EQUAL == ::CompareStringOrdinal(pPackage->Msi.sczUpgradeCode, -1, pRelatedMsi->sczUpgradeCode, -1, TRUE))
635 { 635 {
636 relatedMsiOperation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; 636 relatedMsiOperation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE;
637 pPackage->Msi.operation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; 637 pPackage->Msi.operation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE;
diff --git a/src/burn/engine/relatedbundle.cpp b/src/burn/engine/relatedbundle.cpp
index 938b24d7..d426dc53 100644
--- a/src/burn/engine/relatedbundle.cpp
+++ b/src/burn/engine/relatedbundle.cpp
@@ -206,7 +206,7 @@ static __callback int __cdecl CompareRelatedBundlesDetect(
206 VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); 206 VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret);
207 if (0 == ret) 207 if (0 == ret)
208 { 208 {
209 ret = ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1) - 2; 209 ret = ::CompareStringOrdinal(pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1, TRUE) - 2;
210 } 210 }
211 } 211 }
212 212
@@ -249,7 +249,7 @@ static __callback int __cdecl CompareRelatedBundlesPlan(
249 VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); 249 VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret);
250 if (0 == ret) 250 if (0 == ret)
251 { 251 {
252 ret = ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1) - 2; 252 ret = ::CompareStringOrdinal(pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1, TRUE) - 2;
253 } 253 }
254 } 254 }
255 255
@@ -284,7 +284,7 @@ static HRESULT LoadIfRelatedBundle(
284 BURN_RELATED_BUNDLE* pRelatedBundle = NULL; 284 BURN_RELATED_BUNDLE* pRelatedBundle = NULL;
285 285
286 // If we found our bundle code, it's not a related bundle. 286 // If we found our bundle code, it's not a related bundle.
287 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleCode, -1, pRegistration->sczCode, -1)) 287 if (CSTR_EQUAL == ::CompareStringOrdinal(pBundle->wzBundleCode, -1, pRegistration->sczCode, -1, TRUE))
288 { 288 {
289 ExitFunction1(hr = S_FALSE); 289 ExitFunction1(hr = S_FALSE);
290 } 290 }
diff --git a/src/burn/engine/variable.cpp b/src/burn/engine/variable.cpp
index 9d0aec52..dc59916a 100644
--- a/src/burn/engine/variable.cpp
+++ b/src/burn/engine/variable.cpp
@@ -1144,7 +1144,7 @@ extern "C" BOOL VariableIsHiddenCommandLine(
1144 { 1144 {
1145 pVariable = pVariables->rgVariables + i; 1145 pVariable = pVariables->rgVariables + i;
1146 1146
1147 if (pVariable->fHidden && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pVariable->sczName, -1, wzVariable, -1)) 1147 if (pVariable->fHidden && CSTR_EQUAL == ::CompareStringOrdinal(pVariable->sczName, -1, wzVariable, -1, TRUE))
1148 { 1148 {
1149 fHidden = TRUE; 1149 fHidden = TRUE;
1150 break; 1150 break;
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp
index 25a0cb35..e2850a62 100644
--- a/src/burn/test/BurnUnitTest/PlanTest.cpp
+++ b/src/burn/test/BurnUnitTest/PlanTest.cpp
@@ -3161,12 +3161,12 @@ namespace Bootstrapper
3161 3161
3162 if (pDependencies->fSelfDependent || pDependencies->fActiveParent) 3162 if (pDependencies->fSelfDependent || pDependencies->fActiveParent)
3163 { 3163 {
3164 if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzActiveParent, -1, wzId, -1)) 3164 if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzActiveParent, -1, wzId, -1, TRUE))
3165 { 3165 {
3166 pRegistration->fParentRegisteredAsDependent = TRUE; 3166 pRegistration->fParentRegisteredAsDependent = TRUE;
3167 } 3167 }
3168 3168
3169 if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzSelfDependent, -1, wzId, -1)) 3169 if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzSelfDependent, -1, wzId, -1, TRUE))
3170 { 3170 {
3171 pRegistration->fSelfRegisteredAsDependent = TRUE; 3171 pRegistration->fSelfRegisteredAsDependent = TRUE;
3172 } 3172 }
diff --git a/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp b/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp
index 59b2d8de..9ddab7c0 100644
--- a/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp
+++ b/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp
@@ -2928,7 +2928,7 @@ private:
2928 2928
2929 if (argv[i][0] == L'-' || argv[i][0] == L'/') 2929 if (argv[i][0] == L'-' || argv[i][0] == L'/')
2930 { 2930 {
2931 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"lang", -1)) 2931 if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"lang", -1, TRUE))
2932 { 2932 {
2933 if (i + 1 >= argc) 2933 if (i + 1 >= argc)
2934 { 2934 {
@@ -2941,7 +2941,7 @@ private:
2941 hr = StrAllocString(psczLanguage, &argv[i][0], 0); 2941 hr = StrAllocString(psczLanguage, &argv[i][0], 0);
2942 BalExitOnFailure(hr, "Failed to copy language."); 2942 BalExitOnFailure(hr, "Failed to copy language.");
2943 } 2943 }
2944 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"cache", -1)) 2944 else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"cache", -1, TRUE))
2945 { 2945 {
2946 m_fRequestedCacheOnly = TRUE; 2946 m_fRequestedCacheOnly = TRUE;
2947 } 2947 }
diff --git a/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp b/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp
index fc1938fe..9ad4e91f 100644
--- a/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp
+++ b/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp
@@ -19,15 +19,15 @@ int __cdecl wmain(int argc, LPWSTR argv[])
19 { 19 {
20 fShowUsage = TRUE; 20 fShowUsage = TRUE;
21 } 21 }
22 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"reload", -1)) 22 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"reload", -1, TRUE))
23 { 23 {
24 hr = RunReloadEngine(argv[2], argv[3]); 24 hr = RunReloadEngine(argv[2], argv[3]);
25 } 25 }
26 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"shutdown", -1)) 26 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"shutdown", -1, TRUE))
27 { 27 {
28 hr = RunShutdownEngine(argv[2], argv[3]); 28 hr = RunShutdownEngine(argv[2], argv[3]);
29 } 29 }
30 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"waitforquit", -1)) 30 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"waitforquit", -1, TRUE))
31 { 31 {
32 hr = RunWaitForQuitEngine(argv[2], argv[3]); 32 hr = RunWaitForQuitEngine(argv[2], argv[3]);
33 } 33 }
diff --git a/src/ext/Iis/ca/scaapppool.cpp b/src/ext/Iis/ca/scaapppool.cpp
index 781c55ca..951f2d4b 100644
--- a/src/ext/Iis/ca/scaapppool.cpp
+++ b/src/ext/Iis/ca/scaapppool.cpp
@@ -80,7 +80,7 @@ HRESULT ScaAppPoolRead(
80 WcaLog(LOGMSG_VERBOSE, "Skipping ScaAppPoolRead() - required table not present"); 80 WcaLog(LOGMSG_VERBOSE, "Skipping ScaAppPoolRead() - required table not present");
81 ExitFunction1(hr = S_FALSE); 81 ExitFunction1(hr = S_FALSE);
82 } 82 }
83 83
84 hr = WcaBeginUnwrapQuery(&hComponentQuery, ppwzCustomActionData); 84 hr = WcaBeginUnwrapQuery(&hComponentQuery, ppwzCustomActionData);
85 ExitOnFailure(hr, "Failed to unwrap query for ScaAppPoolRead"); 85 ExitOnFailure(hr, "Failed to unwrap query for ScaAppPoolRead");
86 86
@@ -478,17 +478,17 @@ HRESULT ScaWriteAppPool(
478 } 478 }
479 else if (psap->iAttributes & APATTR_OTHERUSER) 479 else if (psap->iAttributes & APATTR_OTHERUSER)
480 { 480 {
481 if (!*psap->suUser.wzDomain || CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzDomain, -1, L".", -1)) 481 if (!*psap->suUser.wzDomain || CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzDomain, -1, L".", -1, TRUE))
482 { 482 {
483 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"NetworkService", -1)) 483 if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"NetworkService", -1, TRUE))
484 { 484 {
485 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; 485 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE;
486 } 486 }
487 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"LocalService", -1)) 487 else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"LocalService", -1, TRUE))
488 { 488 {
489 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; 489 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE;
490 } 490 }
491 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"LocalSystem", -1)) 491 else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"LocalSystem", -1, TRUE))
492 { 492 {
493 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; 493 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM;
494 } 494 }
@@ -497,17 +497,17 @@ HRESULT ScaWriteAppPool(
497 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER; 497 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER;
498 } 498 }
499 } 499 }
500 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzDomain, -1, L"NT AUTHORITY", -1)) 500 else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzDomain, -1, L"NT AUTHORITY", -1, TRUE))
501 { 501 {
502 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"NETWORK SERVICE", -1)) 502 if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"NETWORK SERVICE", -1, TRUE))
503 { 503 {
504 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; 504 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE;
505 } 505 }
506 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"SERVICE", -1)) 506 else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"SERVICE", -1, TRUE))
507 { 507 {
508 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; 508 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE;
509 } 509 }
510 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"SYSTEM", -1)) 510 else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"SYSTEM", -1, TRUE))
511 { 511 {
512 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; 512 dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM;
513 } 513 }
diff --git a/src/ext/Iis/ca/scaexecIIS7.cpp b/src/ext/Iis/ca/scaexecIIS7.cpp
index 108007a1..52378d34 100644
--- a/src/ext/Iis/ca/scaexecIIS7.cpp
+++ b/src/ext/Iis/ca/scaexecIIS7.cpp
@@ -566,7 +566,7 @@ HRESULT IIS7AspProperty(
566 // 566 //
567 //Do not append trailing '/' for default vDir 567 //Do not append trailing '/' for default vDir
568 // 568 //
569 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzPathName, -1, L"/", -1)) 569 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzPathName, -1, L"/", -1, TRUE))
570 { 570 {
571 hr = StrAllocConcat(&pwzLocationPath, L"/", 0); 571 hr = StrAllocConcat(&pwzLocationPath, L"/", 0);
572 ExitOnFailure(hr, "failed to copy location WebDir '/'"); 572 ExitOnFailure(hr, "failed to copy location WebDir '/'");
@@ -742,7 +742,7 @@ HRESULT IIS7WebDir(
742 // 742 //
743 //Do not append trailing '/' for default vDir 743 //Do not append trailing '/' for default vDir
744 // 744 //
745 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzPathName, -1, L"/", -1)) 745 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzPathName, -1, L"/", -1, TRUE))
746 { 746 {
747 hr = StrAllocConcat(&pwzLocationPath, L"/", 0); 747 hr = StrAllocConcat(&pwzLocationPath, L"/", 0);
748 ExitOnFailure(hr, "failed to copy location WebDir '/'"); 748 ExitOnFailure(hr, "failed to copy location WebDir '/'");
@@ -998,7 +998,7 @@ HRESULT IIS7WebError(
998 hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); 998 hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName);
999 ExitOnFailure(hr, "failed to format web error config path"); 999 ExitOnFailure(hr, "failed to format web error config path");
1000 1000
1001 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzAppName, -1, L"/", -1)) 1001 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzAppName, -1, L"/", -1, TRUE))
1002 { 1002 {
1003 hr = StrAllocConcat(&pwzConfigPath, L"/", 0); 1003 hr = StrAllocConcat(&pwzConfigPath, L"/", 0);
1004 ExitOnFailure(hr, "failed to copy web error config path delim"); 1004 ExitOnFailure(hr, "failed to copy web error config path delim");
@@ -1325,7 +1325,7 @@ HRESULT IIS7HttpHeader(
1325 hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); 1325 hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName);
1326 ExitOnFailure(hr, "failed to format web error config path"); 1326 ExitOnFailure(hr, "failed to format web error config path");
1327 1327
1328 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzAppName, -1, L"/", -1)) 1328 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzAppName, -1, L"/", -1, TRUE))
1329 { 1329 {
1330 hr = StrAllocConcat(&pwzConfigPath, L"/", 0); 1330 hr = StrAllocConcat(&pwzConfigPath, L"/", 0);
1331 ExitOnFailure(hr, "failed to copy web error config path delim"); 1331 ExitOnFailure(hr, "failed to copy web error config path delim");
@@ -2340,7 +2340,7 @@ HRESULT IIS7AppExtension(
2340 // 2340 //
2341 //Do not append trailing '/' for default vDir 2341 //Do not append trailing '/' for default vDir
2342 // 2342 //
2343 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) 2343 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE))
2344 { 2344 {
2345 hr = StrAllocConcat(&pwzConfigPath, L"/", 0); 2345 hr = StrAllocConcat(&pwzConfigPath, L"/", 0);
2346 ExitOnFailure(hr, "failed to copy appext config path delim"); 2346 ExitOnFailure(hr, "failed to copy appext config path delim");
@@ -2495,7 +2495,7 @@ LExit:
2495 // 2495 //
2496 //Do not append trailing '/' for default vDir 2496 //Do not append trailing '/' for default vDir
2497 // 2497 //
2498 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) 2498 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE))
2499 { 2499 {
2500 hr = StrAllocConcat(&pwzConfigPath, L"/", 0); 2500 hr = StrAllocConcat(&pwzConfigPath, L"/", 0);
2501 ExitOnFailure(hr, "failed to copy appext config path delim"); 2501 ExitOnFailure(hr, "failed to copy appext config path delim");
@@ -2627,7 +2627,7 @@ HRESULT IIS7DirProperties(
2627 // 2627 //
2628 //Do not append trailing '/' for default vDir 2628 //Do not append trailing '/' for default vDir
2629 // 2629 //
2630 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) 2630 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE))
2631 { 2631 {
2632 hr = StrAllocConcat(&pwzConfigPath, L"/", 0); 2632 hr = StrAllocConcat(&pwzConfigPath, L"/", 0);
2633 ExitOnFailure(hr, "failed to copy appext config path delim"); 2633 ExitOnFailure(hr, "failed to copy appext config path delim");
@@ -3337,7 +3337,7 @@ static HRESULT CreateWebLog(
3337 ExitOnFailure(hr, "Failed get logfile element"); 3337 ExitOnFailure(hr, "Failed get logfile element");
3338 ReleaseVariant(vtProp); 3338 ReleaseVariant(vtProp);
3339 3339
3340 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzFormat, -1, L"none", -1)) 3340 if (CSTR_EQUAL != ::CompareStringOrdinal(pwzFormat, -1, L"none", -1, TRUE))
3341 { 3341 {
3342 hr = Iis7PutPropertyString(pLogFile, IIS_CONFIG_LOGFORMAT, pwzFormat); 3342 hr = Iis7PutPropertyString(pLogFile, IIS_CONFIG_LOGFORMAT, pwzFormat);
3343 ExitOnFailure(hr, "Failed set logfile format property"); 3343 ExitOnFailure(hr, "Failed set logfile format property");
@@ -4118,7 +4118,7 @@ static HRESULT ClearLocationTag(
4118 ExitOnFailure(hr, "Failed to get IIS location collection count"); 4118 ExitOnFailure(hr, "Failed to get IIS location collection count");
4119 4119
4120 hr = pLocation->get_Path(&bstrLocationPath); 4120 hr = pLocation->get_Path(&bstrLocationPath);
4121 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, swLocationPath, -1, bstrLocationPath, -1)) 4121 if (CSTR_EQUAL == ::CompareStringOrdinal(swLocationPath, -1, bstrLocationPath, -1, TRUE))
4122 { 4122 {
4123 hr = pLocationCollection->DeleteLocation(vtIndex); 4123 hr = pLocationCollection->DeleteLocation(vtIndex);
4124 ExitOnFailure(hr, "Failed to delete IIS location tag %ls",swLocationPath); 4124 ExitOnFailure(hr, "Failed to delete IIS location tag %ls",swLocationPath);
diff --git a/src/ext/Iis/ca/scawebappext.cpp b/src/ext/Iis/ca/scawebappext.cpp
index cf3b9dd3..2f74871c 100644
--- a/src/ext/Iis/ca/scawebappext.cpp
+++ b/src/ext/Iis/ca/scawebappext.cpp
@@ -124,7 +124,7 @@ HRESULT ScaWebAppExtensionsWrite(
124 } 124 }
125 125
126 // if verbs were specified and not the keyword "all" 126 // if verbs were specified and not the keyword "all"
127 if (pswappext->wzVerbs[0] && CSTR_EQUAL != CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pswappext->wzVerbs, -1, L"all", -1)) 127 if (pswappext->wzVerbs[0] && CSTR_EQUAL != CompareStringOrdinal(pswappext->wzVerbs, -1, L"all", -1, TRUE))
128 { 128 {
129 hr = ::StringCchCatW(wzAppExtension, countof(wzAppExtension), L","); 129 hr = ::StringCchCatW(wzAppExtension, countof(wzAppExtension), L",");
130 ExitOnFailure(hr, "Failed to concatenate comma to app extension string"); 130 ExitOnFailure(hr, "Failed to concatenate comma to app extension string");
diff --git a/src/ext/NetFx/netcoresearch/netcoresearch.cpp b/src/ext/NetFx/netcoresearch/netcoresearch.cpp
index 8c788461..1b151d8f 100644
--- a/src/ext/NetFx/netcoresearch/netcoresearch.cpp
+++ b/src/ext/NetFx/netcoresearch/netcoresearch.cpp
@@ -86,7 +86,7 @@ HRESULT GetSearchStateFromArguments(
86 86
87 wzSearchKind = argv[1]; 87 wzSearchKind = argv[1];
88 88
89 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"runtime", -1)) 89 if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"runtime", -1, TRUE))
90 { 90 {
91 if (argc != 4) 91 if (argc != 4)
92 { 92 {
@@ -103,7 +103,7 @@ HRESULT GetSearchStateFromArguments(
103 103
104 pSearchState->Runtime.wzTargetName = wzTargetName; 104 pSearchState->Runtime.wzTargetName = wzTargetName;
105 } 105 }
106 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"sdk", -1)) 106 else if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"sdk", -1, TRUE))
107 { 107 {
108 if (argc != 3) 108 if (argc != 3)
109 { 109 {
@@ -117,7 +117,7 @@ HRESULT GetSearchStateFromArguments(
117 hr = StrStringToUInt32(wzMajorVersion, 0, reinterpret_cast<UINT*>(&pSearchState->Sdk.dwMajorVersion)); 117 hr = StrStringToUInt32(wzMajorVersion, 0, reinterpret_cast<UINT*>(&pSearchState->Sdk.dwMajorVersion));
118 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to get sdk major version from: %ls", wzMajorVersion); 118 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to get sdk major version from: %ls", wzMajorVersion);
119 } 119 }
120 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"sdkfeatureband", -1)) 120 else if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"sdkfeatureband", -1, TRUE))
121 { 121 {
122 if (argc != 5) 122 if (argc != 5)
123 { 123 {
@@ -208,7 +208,7 @@ static HRESULT PerformRuntimeSearch(
208 const hostfxr_dotnet_environment_framework_info* pFrameworkInfo = pInfo->frameworks + i; 208 const hostfxr_dotnet_environment_framework_info* pFrameworkInfo = pInfo->frameworks + i;
209 ReleaseVerutilVersion(pFrameworkVersion); 209 ReleaseVerutilVersion(pFrameworkVersion);
210 210
211 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzTargetName, -1, pFrameworkInfo->name, -1)) 211 if (CSTR_EQUAL != ::CompareStringOrdinal(wzTargetName, -1, pFrameworkInfo->name, -1, TRUE))
212 { 212 {
213 continue; 213 continue;
214 } 214 }
diff --git a/src/ext/VisualStudio/ca/vsca.cpp b/src/ext/VisualStudio/ca/vsca.cpp
index 736add1f..681187d6 100644
--- a/src/ext/VisualStudio/ca/vsca.cpp
+++ b/src/ext/VisualStudio/ca/vsca.cpp
@@ -219,7 +219,7 @@ static HRESULT InstanceInProducts(
219 { 219 {
220 const LPCWSTR wzProduct = rgwzProducts[i]; 220 const LPCWSTR wzProduct = rgwzProducts[i];
221 221
222 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, bstrId, -1, wzProduct, -1)) 222 if (CSTR_EQUAL == ::CompareStringOrdinal(bstrId, -1, wzProduct, -1, TRUE))
223 { 223 {
224 hr = S_OK; 224 hr = S_OK;
225 ExitFunction(); 225 ExitFunction();
@@ -579,7 +579,7 @@ static HRESULT SetPropertyForComponent(
579 { 579 {
580 const VS_COMPONENT_PROPERTY* pComponent = &rgComponents[i]; 580 const VS_COMPONENT_PROPERTY* pComponent = &rgComponents[i];
581 581
582 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pComponent->pwzComponent, -1, wzComponent, -1)) 582 if (CSTR_EQUAL == ::CompareStringOrdinal(pComponent->pwzComponent, -1, wzComponent, -1, TRUE))
583 { 583 {
584 hr = WcaSetIntProperty(pComponent->pwzProperty, 1); 584 hr = WcaSetIntProperty(pComponent->pwzProperty, 1);
585 ExitOnFailure(hr, "Failed to set property: %ls", pComponent->pwzProperty); 585 ExitOnFailure(hr, "Failed to set property: %ls", pComponent->pwzProperty);
diff --git a/src/libs/dutil/WixToolset.DUtil/acl2util.cpp b/src/libs/dutil/WixToolset.DUtil/acl2util.cpp
index 598f12e7..e62a03d4 100644
--- a/src/libs/dutil/WixToolset.DUtil/acl2util.cpp
+++ b/src/libs/dutil/WixToolset.DUtil/acl2util.cpp
@@ -106,7 +106,7 @@ extern "C" HRESULT DAPI AclGetAccountSidStringEx(
106 HRESULT hrLength = ::StringCchLengthW(wzAccount, STRSAFE_MAX_CCH, reinterpret_cast<size_t*>(&cchAccount)); 106 HRESULT hrLength = ::StringCchLengthW(wzAccount, STRSAFE_MAX_CCH, reinterpret_cast<size_t*>(&cchAccount));
107 AclExitOnFailure(hrLength, "Failed to get the length of the account name."); 107 AclExitOnFailure(hrLength, "Failed to get the length of the account name.");
108 108
109 if (11 < cchAccount && CSTR_EQUAL == CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, L"NT SERVICE\\", 11, wzAccount, 11)) 109 if (11 < cchAccount && CSTR_EQUAL == CompareStringOrdinal(L"NT SERVICE\\", 11, wzAccount, 11, TRUE))
110 { 110 {
111 // If the service is not installed then LookupAccountName doesn't resolve the SID, but we can calculate it. 111 // If the service is not installed then LookupAccountName doesn't resolve the SID, but we can calculate it.
112 LPCWSTR wzServiceName = &wzAccount[11]; 112 LPCWSTR wzServiceName = &wzAccount[11];
diff --git a/src/libs/dutil/WixToolset.DUtil/apuputil.cpp b/src/libs/dutil/WixToolset.DUtil/apuputil.cpp
index eb96d515..62cf4d06 100644
--- a/src/libs/dutil/WixToolset.DUtil/apuputil.cpp
+++ b/src/libs/dutil/WixToolset.DUtil/apuputil.cpp
@@ -112,7 +112,7 @@ extern "C" HRESULT DAPI ApupAllocChainFromAtom(
112 } 112 }
113 113
114 // Trim the unused entries from the end, if any of the entries failed to parse or validate 114 // Trim the unused entries from the end, if any of the entries failed to parse or validate
115 if (pChain->cEntries != pFeed->cEntries) 115 if (pChain->cEntries != pFeed->cEntries)
116 { 116 {
117 if (pChain->cEntries > 0) 117 if (pChain->cEntries > 0)
118 { 118 {
@@ -354,22 +354,22 @@ static HRESULT ParseEnclosure(
354 dwDigestLength = 0; 354 dwDigestLength = 0;
355 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, L"algorithm", -1, pAttribute->wzAttribute, -1)) 355 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, L"algorithm", -1, pAttribute->wzAttribute, -1))
356 { 356 {
357 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"md5", -1, pAttribute->wzValue, -1)) 357 if (CSTR_EQUAL == ::CompareStringOrdinal(L"md5", -1, pAttribute->wzValue, -1, TRUE))
358 { 358 {
359 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_MD5; 359 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_MD5;
360 dwDigestLength = MD5_HASH_LEN; 360 dwDigestLength = MD5_HASH_LEN;
361 } 361 }
362 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha1", -1, pAttribute->wzValue, -1)) 362 else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha1", -1, pAttribute->wzValue, -1, TRUE))
363 { 363 {
364 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA1; 364 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA1;
365 dwDigestLength = SHA1_HASH_LEN; 365 dwDigestLength = SHA1_HASH_LEN;
366 } 366 }
367 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha256", -1, pAttribute->wzValue, -1)) 367 else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha256", -1, pAttribute->wzValue, -1, TRUE))
368 { 368 {
369 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA256; 369 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA256;
370 dwDigestLength = SHA256_HASH_LEN; 370 dwDigestLength = SHA256_HASH_LEN;
371 } 371 }
372 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha512", -1, pAttribute->wzValue, -1)) 372 else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha512", -1, pAttribute->wzValue, -1, TRUE))
373 { 373 {
374 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA512; 374 pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA512;
375 dwDigestLength = SHA512_HASH_LEN; 375 dwDigestLength = SHA512_HASH_LEN;
diff --git a/src/libs/dutil/WixToolset.DUtil/iis7util.cpp b/src/libs/dutil/WixToolset.DUtil/iis7util.cpp
index d0a0b000..b0dc1444 100644
--- a/src/libs/dutil/WixToolset.DUtil/iis7util.cpp
+++ b/src/libs/dutil/WixToolset.DUtil/iis7util.cpp
@@ -222,7 +222,7 @@ BOOL DAPI CompareVariantPath(
222 IisExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal); 222 IisExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal);
223 } 223 }
224 224
225 fEqual = CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzValue1, -1, wzValue2, -1); 225 fEqual = CSTR_EQUAL == ::CompareStringOrdinal(wzValue1, -1, wzValue2, -1, TRUE);
226 226
227LExit: 227LExit:
228 ReleaseNullStr(wzValue1); 228 ReleaseNullStr(wzValue1);
@@ -258,7 +258,7 @@ extern "C" BOOL DAPI Iis7IsMatchingAppHostElement(
258 258
259 hr = pElement->get_Name(&bstrElementName); 259 hr = pElement->get_Name(&bstrElementName);
260 IisExitOnFailure(hr, "Failed to get name of element"); 260 IisExitOnFailure(hr, "Failed to get name of element");
261 if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pComparison->sczElementName, -1, bstrElementName, -1)) 261 if (CSTR_EQUAL != ::CompareStringOrdinal(pComparison->sczElementName, -1, bstrElementName, -1, TRUE))
262 { 262 {
263 ExitFunction(); 263 ExitFunction();
264 } 264 }
@@ -293,7 +293,7 @@ BOOL DAPI IsMatchingAppHostMethod(
293 293
294 Assert(bstrName); 294 Assert(bstrName);
295 295
296 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzMethodName, -1, bstrName, -1)) 296 if (CSTR_EQUAL == ::CompareStringOrdinal(wzMethodName, -1, bstrName, -1, TRUE))
297 { 297 {
298 fResult = TRUE; 298 fResult = TRUE;
299 } 299 }
diff --git a/src/libs/dutil/WixToolset.DUtil/path2utl.cpp b/src/libs/dutil/WixToolset.DUtil/path2utl.cpp
index d83a4578..06df8617 100644
--- a/src/libs/dutil/WixToolset.DUtil/path2utl.cpp
+++ b/src/libs/dutil/WixToolset.DUtil/path2utl.cpp
@@ -306,7 +306,7 @@ DAPI_(HRESULT) PathCompareCanonicalized(
306 hr = PathCanonicalizeForComparison(wzPath2, dwDefaultFlags, &sczCanonicalized2); 306 hr = PathCanonicalizeForComparison(wzPath2, dwDefaultFlags, &sczCanonicalized2);
307 PathExitOnFailure(hr, "Failed to canonicalize wzPath2."); 307 PathExitOnFailure(hr, "Failed to canonicalize wzPath2.");
308 308
309 nResult = ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczCanonicalized1, -1, sczCanonicalized2, -1); 309 nResult = ::CompareStringOrdinal(sczCanonicalized1, -1, sczCanonicalized2, -1, TRUE);
310 PathExitOnNullWithLastError(nResult, hr, "Failed to compare canonicalized paths."); 310 PathExitOnNullWithLastError(nResult, hr, "Failed to compare canonicalized paths.");
311 311
312 *pfEqual = CSTR_EQUAL == nResult; 312 *pfEqual = CSTR_EQUAL == nResult;
@@ -364,7 +364,7 @@ DAPI_(HRESULT) PathDirectoryContainsPath(
364 ExitFunction1(hr = S_FALSE); 364 ExitFunction1(hr = S_FALSE);
365 } 365 }
366 366
367 if (CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczCanonicalizedDirectory, (DWORD)cchDirectory, sczCanonicalizedPath, (DWORD)cchDirectory)) 367 if (CSTR_EQUAL != ::CompareStringOrdinal(sczCanonicalizedDirectory, (DWORD)cchDirectory, sczCanonicalizedPath, (DWORD)cchDirectory, TRUE))
368 { 368 {
369 ExitFunction1(hr = S_FALSE); 369 ExitFunction1(hr = S_FALSE);
370 } 370 }
diff --git a/src/tools/thmviewer/load.cpp b/src/tools/thmviewer/load.cpp
index 924f373d..ca1460e3 100644
--- a/src/tools/thmviewer/load.cpp
+++ b/src/tools/thmviewer/load.cpp
@@ -152,7 +152,7 @@ static DWORD WINAPI LoadThreadProc(
152 // If our file was updated, check to see if the modified time really changed. The notifications 152 // If our file was updated, check to see if the modified time really changed. The notifications
153 // are often trigger happy thinking the file changed two or three times in a row. Maybe it's AV 153 // are often trigger happy thinking the file changed two or three times in a row. Maybe it's AV
154 // software creating the problems but actually checking the modified date works well. 154 // software creating the problems but actually checking the modified date works well.
155 if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pNotification->FileName, pNotification->FileNameLength / sizeof(WCHAR), wzFileName, -1)) 155 if (CSTR_EQUAL == ::CompareStringOrdinal(pNotification->FileName, pNotification->FileNameLength / sizeof(WCHAR), wzFileName, -1, TRUE))
156 { 156 {
157 FILETIME ft = { }; 157 FILETIME ft = { };
158 FileGetTime(sczThemePath, NULL, NULL, &ft); 158 FileGetTime(sczThemePath, NULL, NULL, &ft);
diff --git a/src/tools/thmviewer/thmviewer.cpp b/src/tools/thmviewer/thmviewer.cpp
index 5d4b88f5..69a9920b 100644
--- a/src/tools/thmviewer/thmviewer.cpp
+++ b/src/tools/thmviewer/thmviewer.cpp
@@ -241,7 +241,7 @@ static HRESULT ProcessCommandLine(
241 { 241 {
242 if (argv[i][0] == L'-' || argv[i][0] == L'/') 242 if (argv[i][0] == L'-' || argv[i][0] == L'/')
243 { 243 {
244 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"lang", -1)) 244 if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"lang", -1, TRUE))
245 { 245 {
246 if (i + 1 >= argc) 246 if (i + 1 >= argc)
247 { 247 {
@@ -254,7 +254,7 @@ static HRESULT ProcessCommandLine(
254 else 254 else
255 { 255 {
256 LPCWSTR wzExtension = PathExtension(argv[i]); 256 LPCWSTR wzExtension = PathExtension(argv[i]);
257 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzExtension, -1, L".wxl", -1)) 257 if (CSTR_EQUAL == ::CompareStringOrdinal(wzExtension, -1, L".wxl", -1, TRUE))
258 { 258 {
259 hr = StrAllocString(psczWxlFile, argv[i], 0); 259 hr = StrAllocString(psczWxlFile, argv[i], 0);
260 } 260 }
diff --git a/src/wix/wixnative/wixnative.cpp b/src/wix/wixnative/wixnative.cpp
index d7db20f6..49299734 100644
--- a/src/wix/wixnative/wixnative.cpp
+++ b/src/wix/wixnative/wixnative.cpp
@@ -21,19 +21,19 @@ int __cdecl wmain(int argc, LPWSTR argv[])
21 hr = WixNativeReadStdinPreamble(); 21 hr = WixNativeReadStdinPreamble();
22 ExitOnFailure(hr, "failed to read stdin preamble"); 22 ExitOnFailure(hr, "failed to read stdin preamble");
23 23
24 if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"smartcab", -1)) 24 if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"smartcab", -1, TRUE))
25 { 25 {
26 hr = SmartCabCommand(argc - 2, argv + 2); 26 hr = SmartCabCommand(argc - 2, argv + 2);
27 } 27 }
28 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"extractcab", -1)) 28 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"extractcab", -1, TRUE))
29 { 29 {
30 hr = ExtractCabCommand(argc - 2, argv + 2); 30 hr = ExtractCabCommand(argc - 2, argv + 2);
31 } 31 }
32 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"enumcab", -1)) 32 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"enumcab", -1, TRUE))
33 { 33 {
34 hr = EnumCabCommand(argc - 2, argv + 2); 34 hr = EnumCabCommand(argc - 2, argv + 2);
35 } 35 }
36 else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"certhashes", -1)) 36 else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"certhashes", -1, TRUE))
37 { 37 {
38 hr = CertificateHashesCommand(argc - 2, argv + 2); 38 hr = CertificateHashesCommand(argc - 2, argv + 2);
39 } 39 }