<!DOCTYPE html>
<html>
<head>
<title>微软 Windows 10 易升</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="default.css" />
<script type="text/javascript">
window.onerror = function (message, url, line) {
window.open("app:HandleScriptError?message=" + message + "&lineNumber=" + line, "_self");
return true;
};
function enableTransparentImgOnIE6(imageElement) {
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
if ((version >= 5.5) && (version < 7) && (document.body.filters)) {
var imgID = (imageElement.id) ? "id='" + imageElement.id + "' " : "";
var imgClass = (imageElement.className) ? "class='" + imageElement.className + "' " : "";
var imgTitle = (imageElement.title) ? "title='" + imageElement.title + "' " : "title='" + imageElement.alt + "' ";
var imgStyle = "display:inline-block;" + imageElement.style.cssText;
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + imageElement.src + "\', sizingMethod='scale');\"></span>";
imageElement.outerHTML = strNewHTML;
}
}
function launchModernApp(appUserModelId) {
window.open("app:LaunchModernApp;AppUserModelId:" + appUserModelId, "_self");
}
function logUserInteraction(userInteractionId) {
window.open("app:LogUserInteraction;userInteractionId:" + userInteractionId, "_self");
}
function minimizeApp() {
window.open("app:MinimizeToSystemTray", "_self");
}
function createAjaxRequest(method, url) {
var request; // The variable that makes Ajax possible!
try {
// Opera 8.0+, Firefox, Safari
request = new XMLHttpRequest();
}
catch (e) {
// Internet Explorer Browsers
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
// Append timestamp to the url to avoid both local and server cache
url += ((-1 == url.indexOf("?") ? "?" : "&") + "timestamp=" + Number(new Date()));
request.open(method, url, true);
return request;
}
function setEulaCss() {
var eulaDocument = document.getElementById('windows10EULA').contentWindow.document;
var cssLink = eulaDocument.createElement("link")
cssLink.href = "EULA.css";
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
eulaDocument.body.appendChild(cssLink);
eulaDocument.oncontextmenu = function () { return false; };
}
var fakeProgressTimer = null;
var countdownTimer = null;
function createTimer(intervalInSeconds, timeoutInSeconds, intervalCallBack, timeoutCallback) {
if (timeoutInSeconds <= 0) {
if (intervalCallBack != null) {
intervalCallBack(timeoutInSeconds);
}
if (timeoutCallback != null) {
timeoutCallback();
}
return;
}
if (intervalCallBack != null) {
intervalCallBack(timeoutInSeconds);
}
clearTimeout(countdownTimer);
countdownTimer = setTimeout(function () {
createTimer(intervalInSeconds, timeoutInSeconds - intervalInSeconds, intervalCallBack, timeoutCallback);
}, intervalInSeconds * 1000);
}
function formatTime(totalSeconds) {
var minutes = Math.floor(totalSeconds / 60);
var seconds = totalSeconds - (minutes * 60);
return minutes + ":" + (seconds < 10 ? "0" + seconds : seconds);
}
function invokeAppAction(appUrl) {
changeButtonState(false);
window.open(appUrl, "_self");
}
function startRestartCountdown() {
document.getElementById("exitButton").onclick = function () { exitAction(); return false; };
var restartCountdown = document.getElementById("restartCountdown");
createTimer(1, 30 * 60, function (timeLeftInSeconds) {
restartCountdown.innerHTML = formatTime(timeLeftInSeconds);
}, function () {
document.getElementById("actionButton2").click();
});
document.getElementById("restartCountdownSection").style.display = "block";
}
</script>
</head>
<body id="pageBody" oncontextmenu="return false;" scroll="no">
<div id="header"></div>
<div id="container" class="container">
<div id="title" class="titleStyle">
</div>
<div id="subtitle" class="subtitle">
</div>
<div id="progressDiv">
<span id="progressText"></span>
<div id="percentage"></div>
</div>
<div id="updateNowTip" class="updateNowTip">
</div>
<div id="blockItemInfoCollectionDiv"></div>
<div id="cosqueryWarningInfo"></div>
<div id="windows10EULABackground">
<iframe id="windows10EULA" frameBorder="0" allowTransparency="true" onload='setEulaCss()'></iframe>
</div>
<div id="upgradeSection">
<table class="promotionTable">
<tr>
<td>
<img src="bullet.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="upgradeSectionItem1"></span>
</td>
<td>
<img src="bullet.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="upgradeSectionItem2"></span>
</td>
</tr>
<tr>
<td>
<img src="bullet.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="upgradeSectionItem3"></span>
</td>
<td>
<img src="bullet.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="upgradeSectionItem4"></span>
</td>
</tr>
</table>
</div>
<div id="welcomeSection">
<div id="pageMetadata" style="display:none" data-pageId="8"></div>
<div class="links">
<a class="link" href="#" onclick="logUserInteraction(1);launchModernApp('Microsoft.Getstarted_8wekyb3d8bbwe!App');return false;"
onmouseout="document.getElementById('getStartedImage').src='GetStarted.png'" onmouseover="document.getElementById('getStartedImage').src='GetStartedHoverOver.png'">
<img id="getStartedImage" src="GetStarted.png">
<div class="title">玩转 Windows 10</div>
</a>
<a class="link" href="NetworkIssueFAQ.mht" target="_blank" onclick="logUserInteraction(2)"
onmouseout="document.getElementById('noNetworkConnectionImage').src='NoNetworkConnection.png'" onmouseover="document.getElementById('noNetworkConnectionImage').src='NoNetworkConnectionHoverOver.png'">
<img id="noNetworkConnectionImage" src="NoNetworkConnection.png" />
<div class="title">无法联网?</div>
</a>
</div>
</div>
<div id="errorInfoSection">
<div id="errorText"></div>
<div id="contactQR"></div>
</div>
<div id="advanceOptions">
<button id='showAdvanceOptions' class="advanceOptionsButton" onclick="showAdvanceOptions()"></button>
<form class="advanceOptionsForm" id="win7AdvanceOptionsForm">
<div class="advanceOptionSection">
<input id="Win7Full" type="radio" class="advanceOptionsInput" name="migOption" value="Full" onclick="setAdvanceOption(this)" checked>
<label id="Win7FullLabel" for="Win7Full" class="advanceOptionsText"></label>
</div>
<div class="advanceOptionSection">
<input id="Win7DataOnly" type="radio" class="advanceOptionsInput" name="migOption" value="DataOnly" onclick="setAdvanceOption(this)">
<label id="Win7DataOnlyLabel" for="Win7DataOnly" class="advanceOptionsText"></label>
</div>
<div class="advanceOptionSection">
<input id="Win7Clean" type="radio" class="advanceOptionsInput" name="migOption" value="Clean" onclick="setAdvanceOption(this)">
<label id="Win7CleanLabel" for="Win7Clean" class="advanceOptionsText"></label>
</div>
<div id="optionDetails"></div>
</form>
<form class="advanceOptionsForm" id="winXPAdvanceOptionsForm">
<div class="advanceOptionSection">
<input id="XPDataOnly" type="radio" class="advanceOptionsInput" name="migOption" value="DataOnly" onclick="setAdvanceOption(this)" checked>
<label id="XPDataOnlyLabel" for="XPDataOnly" class="advanceOptionsText"></label>
</div>
<div class="advanceOptionSection">
<input type="radio" id="XPClean" class="advanceOptionsInput" name="migOption" value="Clean" onclick="setAdvanceOption(this)">
<label id="XPCleanLabel" for="XPClean" class="advanceOptionsText"></label>
</div>
<div id="targetX64CheckBoxDiv">
<input type="checkbox" id="targetX64CheckBox" class="advanceOptionsInput" name="archOption" value="X64Clean" onclick="setAdvanceOption(this)">
<label id="targetX64CheckBoxLabel" for="targetX64CheckBox" class="advanceOptionsText"></label>
</div>
</form>
</div>
<div id="rebootPageDisclaimer"></div>
<div id="vanillaEULA">
<div id="disclaimer"></div>
</div>
<div id="defaultButtonDiv" class="buttonDiv">
<div class="actionLinkPanel">
<a id="exitButton" href="#" onclick="exitAction();return false;"></a>
</div>
<div class="actionButtonPanel">
<button id="actionButton1" type="button"></button>
<button id="actionButton2" class="defaultButton" type="button"></button>
</div>
</div>
<div id="loadingSection">
<div>
<img src="loading.gif" />
</div>
<div id="loadingProgress"></div>
</div>
<div id="downloadCountdownSection"></div>
<div id="restartCountdownSection">
<div id="restartCountdownText"></div>
<div id="restartCountdown"></div>
</div>
<div id="buyNewPCSection"></div>
</div>
<div id="exitWindow">
<div id="exitWindowContainer" class="container">
<div id="exitConfirmText" class="titleStyle"></div>
<div id="exitConfirmTitle" class="subtitle"></div>
<div class="marketingDiv">
<table class="promotionTable">
<tr>
<td>
<img src="marketing.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="exitMessaging1"></span>
</td>
<td>
<img src="marketing.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="exitMessaging2"></span>
</td>
</tr>
<tr>
<td>
<img src="marketing.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="exitMessaging3"></span>
</td>
<td>
<img src="marketing.png" class="marketingIcon" onload='enableTransparentImgOnIE6(this)' />
<span id="exitMessaging4"></span>
</td>
</tr>
</table>
</div>
<div id="exitButtonDiv" class="buttonDiv">
<div class="actionLinkPanel">
<a id="exitAppButton" href="#" onclick="exit();return false;"></a>
</div>
<div class="actionButtonPanel">
<button id="cancelButton" class="defaultButton" onclick="hideExitWindow()" type="button"></button>
</div>
</div>
</div>
</div>
<div id="footer">
<img id="logo" src=logo.png>
<div class="footerLink" id="supportLink"></div>
</div>
<script type="text/javascript">
// for debugging
// setTimeout(function() { updateControls(110, "SupportCrossArchUpgrade:true\nRestartWaitingTime:14400\nCompatCheckResult:31\nErrorHRESULT:0xc1900211\nUserReferralID:99\nArchitecture:Amd64\n"); }, 200);
var isExitingInWaitingForCancellation;
var exitingAction;
var currentState;
var currentStateIndex;
var properties = new Array();
var UpgradeState =
{
InitializingApplication: 20,
InitializingStates: 30,
CheckingUpgrade: 40,
CheckingCompat: 60,
Downloading: 80,
CompatSuccessResult: 110,
CompatFailedResult: 120,
GeneralErrorResult: 170,
Installing: 180,
ShowingEULA: 190,
WaitForRestartWindows: 220,
WelcomeUserOnWin10: 240,
PushModeWaitingForCancellation: 250,
PushModeInstall: 260,
Uninstall: 290,
ShowingWin10Update: 320
};
var CompatCheckItem =
{
DomainNetwork: 0,
ServerOrEnterprise: 1,
Bios: 2,
ProcessorSpeed: 3,
ProcessorNX: 4,
ProcessorArchitecture: 5,
ProcessorCMPXCHG16b: 6,
ProcessorLAHFSAHF: 7,
ProcessorPrefetchW: 8,
Memory: 9,
HardDriveFreeSpace: 10,
NetDevice: 11,
DiskDevice: 12,
DisplayDevice: 13,
CloudCompat: 14,
UEFICompat: 15,
WindowsVersion: 16,
UserDefaultLanguage: 17,
SystemLicensed: 18,
SystemDiskFormat: 19,
CosQueryCheck: 20,
SoundDevice: 21,
ActivePartitionSupport: 22
};
var errorMap;
var DownloadMessage;
// array of content behavior.
// UpgradeState, Title, Subtitle, Progress visibility, Progress text, action button, custom function.
var controlContent;
var compatFormat = "<tr class='blockItemInfo'>{0}{1}</tr>";
var compatPassed = "<td class='blockItemResult'><img class='blockItemImage' src='pass.png' onload='enableTransparentImgOnIE6(this)' /></td>";
var compatFailed = "<td class='blockItemResult'><img class='blockItemImage' src='block.png' onload='enableTransparentImgOnIE6(this)' /></td>";
var xpWindowVersionBlockDescription;
var compatItemTitleFormat = "<td class='blockItemContent'>{0}</td>";
var blockItemDescription;
var blockItemInfo;
var compatItemsTitle;
var compatItemInfo;
var compatItemFailInfo;
var compatPassInfo;
Array.prototype.contains = function (obj) {
var i = this.length;
while (i--) {
if (this[i] == obj) {
return true;
}
}
return false;
}
String.prototype.format = function () {
var args = arguments;
return this.replace(/{(\d+)}/g, function (match, number) {
return typeof args[number] != 'undefined' ? args[number] : match;
});
};
var locReady = false;
function locInit() {
errorMap = {
0x80070005: [L_v_errorMap_0x80070005_TEXT],
0x8007000d: [L_v_errorMap_0x8007000d_TEXT],
0x8007000e: [L_v_errorMap_0x8007000e_TEXT],
0x8007045d: [L_v_errorMap_0x8007045d_TEXT],
0x80070070: [L_v_errorMap_0x80070070_TEXT],
0x80072ee0: [L_v_errorMap_0x80072ee0_TEXT],
0xc1900211: [L_v_errorMap_0xc1900211_TEXT]
};
DownloadMessage = {
// DOWNLOAD_INIT = 0,
// DOWNLOAD_GETXML,
// DOWNLOAD_GETESD,
// DOWNLOAD_CHKESD,
// DOWNLOAD_FINALIZE,
0: L_v_downloadMessageInit_TEXT,
1: L_v_downloadMessageGetXml_TEXT,
2: L_v_downloadMessageGetEsd_TEXT,
3: L_v_downloadMessageChkEsd_TEXT,
4: L_v_downloadMessageFinalize_TEXT
};
// UpgradeState, Title, Subtitle, Progress visibility, Show exit link, action button 1, custom action function 1, action button 2, custom action function 2, custom function.
controlContent = [
[UpgradeState.InitializingApplication, L_v_ctrlContentInitApp_TEXT, "", false, false, false, false, false, false, false],
[UpgradeState.InitializingStates, L_v_ctrlContentInit_TEXT, "", false, false, false, false, false, false, false],
[UpgradeState.CheckingUpgrade, L_v_ctrlContentCheckUpgradeTitle_TEXT, L_v_ctrlContentCheckUpgradeSubtitle_TEXT, false, false, false, false, false, false, "showLoadingBlock()"],
[UpgradeState.ShowingEULA, L_v_ctrlContentShowEULA_TEXT, L_v_ctrlContentShowEULASubtitle_TEXT, false, false, L_v_ctrlContentDeclineString_TEXT, "invokeAppAction('app:Exit;ExitingState:" + UpgradeState.ShowingEULA + ";ExitingHResult:-2147023673')", L_v_ctrlContentAcceptString_TEXT, "invokeAppAction('app:EULAAccepted')", "showEULABlock()"],
[UpgradeState.ShowingWin10Update, L_v_ctrlContentShowWin10UpdateTitle_TEXT, L_v_ctrlContentShowWin10UpdateSubtitle_TEXT, false, true, false, false, L_v_ctrlUpdateNow_TEXT, "invokeAppAction('app:EULAAccepted')", "showUpdateWin10()"],
[UpgradeState.CheckingCompat, L_v_ctrlContentCheckingCompatTitle_TEXT, "", false, false, false, false, false, false, "showLoadingBlock()"],
[UpgradeState.Downloading, L_v_ctrlContentDownloadingTitle_TEXT, L_v_ctrlContentDownloadingSubtitle_TEXT, true, true, false, false, L_v_minimize_TEXT, "minimizeApp()", "showDownloadProgress()"],
[UpgradeState.CompatSuccessResult, L_v_ctrlContentCompatSuccessResultTitle_TEXT, L_v_ctrlContentCompatSuccessResultSubtitle_TEXT, false, false, false, false, L_v_ctrlContentCompatSuccessResultAction_TEXT, "invokeAppAction('app:Upgrade')", "showCompatSuccessBlock()"],
[UpgradeState.CompatFailedResult, "", "", false, false, false, false, "", false, "showBlockItems()"],
[UpgradeState.GeneralErrorResult, L_v_ctrlContentGeneralErrorResultTitle_TEXT, "", false, true, false, false, L_v_retry_TEXT, "invokeAppAction('app:Retry')", "showErrorBlock()"],
[UpgradeState.Installing, L_v_ctrlContentDownloadingTitle_TEXT, L_v_ctrlContentInstallingSubtitle_TEXT, true, false, false, false, L_v_minimize_TEXT, "minimizeApp()", "updateInstallingPageProgressText()"],
[UpgradeState.WaitForRestartWindows, L_v_ctrlContentWaitForRestartWindowsTitle_TEXT, "", false, false, false, false, L_v_ctrlContentWaitForRestartWindowsAction_TEXT, "invokeAppAction('app:RestartWindows')", "showWaitForRestartWindowsPage()"],
[UpgradeState.WelcomeUserOnWin10, L_v_ctrlContentWelcomeUserOnWin10_TEXT, "", false, false, false, false, L_v_exit_TEXT, "invokeAppAction('app:Exit;ExitingState:" + UpgradeState.WelcomeUserOnWin10 + ";ExitingHResult:0')", "showWelcomeBlock()"],
[UpgradeState.PushModeWaitingForCancellation, L_v_ctrlContentDownloadingTitle_TEXT, L_v_ctrlContentInstallingSubtitle_TEXT, true, true, false, false, L_v_ok_TEXT, "minimizeApp()", "showPushModeWaitingForCancellationProgress()"],
[UpgradeState.PushModeInstall, L_v_ctrlContentDownloadingTitle_TEXT, L_v_ctrlContentInstallingSubtitle_TEXT, true, false, false, false, L_v_ok_TEXT, "minimizeApp()", "showPushModeSetupProgress()"],
[UpgradeState.Uninstall, L_v_ctrlContentUninstall_TEXT, "", false, false, false, false, L_v_uninstall_TEXT, "invokeAppAction('app:ConfirmUninstall')", false],
];
// blockItem, blockItemIndex, recoverable
blockItemInfo =
[
[CompatCheckItem.DomainNetwork, 3, false],
[CompatCheckItem.ServerOrEnterprise, 4, false],
[CompatCheckItem.Bios, 5, false],
[CompatCheckItem.ProcessorSpeed, 0, false],
[CompatCheckItem.ProcessorNX, 0, false],
[CompatCheckItem.ProcessorArchitecture, 0, false],
[CompatCheckItem.ProcessorCMPXCHG16b, 0, false],
[CompatCheckItem.ProcessorLAHFSAHF, 0, false],
[CompatCheckItem.ProcessorPrefetchW, 0, false],
[CompatCheckItem.Memory, 1, false],
[CompatCheckItem.HardDriveFreeSpace, 2, true],
[CompatCheckItem.NetDevice, 6, false],
[CompatCheckItem.DiskDevice, 7, false],
[CompatCheckItem.DisplayDevice, 8, false],
[CompatCheckItem.CloudCompat, 9, false],
[CompatCheckItem.UEFICompat, 10, false],
[CompatCheckItem.WindowsVersion, 4, false],
[CompatCheckItem.UserDefaultLanguage, 4, false],
[CompatCheckItem.SystemLicensed, 4, true],
[CompatCheckItem.SystemDiskFormat, 7, false],
[CompatCheckItem.CosQueryCheck, 9, false],
[CompatCheckItem.SoundDevice, 11, false],
[CompatCheckItem.ActivePartitionSupport, 7, true]
];
compatItemsTitle =
[
[L_v_compatItemsCpu_TEXT, true],
[L_v_compatItemsMem_TEXT, true],
[L_v_compatItemsDisk_TEXT, true],
[L_v_compatItemsUser_TEXT, false],
[L_v_compatItemsOs_TEXT, false],
[L_v_compatItemsBios_TEXT, false],
[L_v_compatItemsNic_TEXT, false],
[L_v_compatItemsDrive_TEXT, false],
[L_v_compatItemsDisplay_TEXT, false],
[L_v_compatItemsCompat_TEXT, false],
[L_v_compatItemsUefi_TEXT, false],
[L_v_compatItemsSound_TEXT, false]
];
compatItemInfo =
[
"<span class='blockItemDetail'>{0}</span>",
"<span id='memoryCheckInfo' class='blockItemDetail'>{0}</span>",
"<span id='systemDiskCheckPassInfo' class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span id='cloudCheckInfo' class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>",
"<span class='blockItemDetail'>{0}</span>"
];
compatItemFailInfo =
[
"<span class='blockItemFailDetail'>{0}</span>",
"<span id='memoryCheckInfo' class='blockItemFailDetail'>{0}</span>",
"<span id='systemDiskCheckFailInfo' class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span id='cloudCheckInfo' class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>",
"<span class='blockItemFailDetail'>{0}</span>"
];
compatPassInfo =
[
L_v_compatItemsCpuInfo_TEXT,
L_v_compatItemsMemInfo_TEXT,
"",
L_v_compatItemsUserInfo_TEXT,
L_v_compatItemsOsInfo_TEXT,
L_v_compatItemsBiosInfo_TEXT,
L_v_compatItemsNicInfo_TEXT,
L_v_compatItemsDriveInfo_TEXT,
L_v_compatItemsDisplayInfo_TEXT,
L_v_compatItemsCompatInfo_TEXT,
L_v_compatItemsUefiInfo_TEXT,
L_v_compatItemsSoundInfo_TEXT
];
xpWindowVersionBlockDescription = L_v_xpWindowVersionBlockDescription_TEXT;
blockItemDescription =
[
[CompatCheckItem.DomainNetwork, L_v_blockDescDomainNetwork_TEXT],
[CompatCheckItem.ServerOrEnterprise, L_v_blockDescServerOrEnterprise_TEXT],
[CompatCheckItem.Bios, L_v_blockDescBios_TEXT],
[CompatCheckItem.ProcessorSpeed, L_v_blockDescProcessorSpeed_TEXT],
[CompatCheckItem.ProcessorNX, L_v_blockDescProcessorNX_TEXT],
[CompatCheckItem.ProcessorArchitecture, L_v_blockDescProcessorArchitecture_TEXT],
[CompatCheckItem.ProcessorCMPXCHG16b, L_v_blockDescProcessorCMPXCHG16b_TEXT],
[CompatCheckItem.ProcessorLAHFSAHF, L_v_blockDescProcessorLAHFSAHF_TEXT],
[CompatCheckItem.ProcessorPrefetchW, L_v_blockDescProcessorPrefetchW_TEXT],
[CompatCheckItem.Memory, ""],
[CompatCheckItem.HardDriveFreeSpace, ""],
[CompatCheckItem.NetDevice, L_v_blockDescNetDevice_TEXT],
[CompatCheckItem.DiskDevice, L_v_blockDescDiskDevice_TEXT],
[CompatCheckItem.DisplayDevice, L_v_blockDescDisplayDevice_TEXT],
[CompatCheckItem.CloudCompat, ""],
[CompatCheckItem.UEFICompat, L_v_blockDescUEFICompat_TEXT],
[CompatCheckItem.WindowsVersion, L_v_blockDescWindowsVersion_TEXT],
[CompatCheckItem.UserDefaultLanguage, L_v_blockDescUserDefaultLanguage_TEXT],
[CompatCheckItem.SystemLicensed, L_v_blockDescSystemLicensed_TEXT],
[CompatCheckItem.SystemDiskFormat, L_v_blockDescSystemDiskFormat_TEXT],
[CompatCheckItem.CosQueryCheck, ""],
[CompatCheckItem.SoundDevice, L_v_blockDescSoundDevice_TEXT],
[CompatCheckItem.ActivePartitionSupport, L_v_blockDescActivePartition_TEXT]
];
document.getElementById("windows10EULA").src = v_eula;
compatItemTitleFormat = compatItemTitleFormat.format(L_v_compatContentLayout_TEXT);
locReady = true;
}
function parseProperties(propertyBag) {
properties = [];
var allPropertyPaires = propertyBag.split("\n");
for (var i = 0; i < allPropertyPaires.length; i++) {
if (allPropertyPaires[i].length > 0) {
keyValueSpliter = allPropertyPaires[i].indexOf(":");
key = allPropertyPaires[i].substr(0, keyValueSpliter);
value = allPropertyPaires[i].substr(keyValueSpliter + 1);
// unescape string %n to 0x0a. It needs consider a string start with %n
escapedValue = value.replace(/(^|[^%])(%n)/gm, "$1\n");
escapedValue = escapedValue.replace(/%%/gm, "%");
properties[key] = escapedValue;
}
}
}
function updateControls(stateId, propertyBag) {
clearTimeout(countdownTimer);
if (stateId == UpgradeState.InitializingStates) {
clearTimeout(fakeProgressTimer);
}
if (locReady == false) {
setTimeout(function () { updateControls(stateId, propertyBag); }, 200);
return;
}
var found = false;
var index = 0;
for (index = 0; index < controlContent.length; index++) {
if (controlContent[index][0] == stateId) {
found = true;
break;
}
}
if (!found) {
throw 'unhanded ui state:' + stateId;
}
currentState = stateId;
currentStateIndex = index;
parseProperties(propertyBag);
changeButtonState(true);
document.getElementById("errorInfoSection").style.display = "none";
document.getElementById("blockItemInfoCollectionDiv").style.display = "none";
document.getElementById("cosqueryWarningInfo").style.display = "none";
document.getElementById("windows10EULA").style.display = "none";
document.getElementById("vanillaEULA").style.display = "none";
document.getElementById("header").style.display = "none";
document.getElementById("windows10EULABackground").style.display = "none";
document.getElementById("exitButton").style.display = "none";
document.getElementById("advanceOptions").style.display = "none";
document.getElementById("welcomeSection").style.display = "none";
document.getElementById("loadingSection").style.display = "none";
document.getElementById("downloadCountdownSection").style.display = "none";
document.getElementById("restartCountdownSection").style.display = "none";
document.getElementById("buyNewPCSection").style.display = "none";
document.getElementById("upgradeSection").style.display = "none";
document.getElementById("rebootPageDisclaimer").style.display = "none";
document.getElementById("updateNowTip").style.display = "none";
document.getElementById("defaultButtonDiv").style.display = "block";
document.getElementById('exitButton').innerHTML = L_exitButton_TEXT;
document.getElementById("title").innerHTML = controlContent[index][1];
if ("" != controlContent[index][2]) {
document.getElementById("subtitle").style.display = "block";
document.getElementById("subtitle").innerHTML = controlContent[index][2];
}
else {
document.getElementById("subtitle").style.display = "none";
}
if (controlContent[index][3]) {
document.getElementById("progressDiv").style.display = "block";
}
else {
document.getElementById("progressDiv").style.display = "none";
}
if (controlContent[index][4]) {
document.getElementById("exitButton").style.display = "inline-block";
}
else {
document.getElementById("exitButton").style.display = "none";
}
var actionButton1 = document.getElementById("actionButton1");
if (controlContent[index][5]) {
actionButton1.innerHTML = controlContent[index][5];
actionButton1.style.display = "inline-block";
}
else {
actionButton1.style.display = "none";
}
actionButton1.onclick = function () { eval(controlContent[index][6]); };
var actionButton2 = document.getElementById("actionButton2");
if (controlContent[index][7]) {
actionButton2.innerHTML = controlContent[index][7];
actionButton2.style.display = "inline-block";
}
else {
actionButton2.style.display = "none";
}
actionButton2.onclick = function () { eval(controlContent[index][8]); };
// There is customized script.
if (controlContent[index][9]) {
eval(controlContent[index][9]);
}
}
function showExitWindow() {
if (currentState == UpgradeState.GeneralErrorResult) {
var errorState = parseInt(properties["ErrorState"]);
var errorHRESULT = parseInt(properties["ErrorHRESULT"]);
exitingAction = "app:Exit;" + "ExitingState:" + errorState + ";ExitingHResult:" + errorHRESULT;
}
else {
// cancellation
exitingAction = "app:Exit;" + "ExitingState:" + currentState + ";ExitingHResult:-2147023673";
}
if (currentState == UpgradeState.PushModeWaitingForCancellation) {
isExitingInWaitingForCancellation = true;
}
document.getElementById("exitWindow").style.display = "block";
document.getElementById("container").style.display = "none";
}
function hideExitWindow() {
exitingAction = null;
isExitingInWaitingForCancellation = false;
document.getElementById("container").style.display = "block";
document.getElementById("exitWindow").style.display = "none";
}
function exitAction() {
if (currentState == UpgradeState.ShowingEULA ||
currentState == UpgradeState.PushModeWaitingForCancellation ||
currentState == UpgradeState.GeneralErrorResult ||
currentState == UpgradeState.Downloading ||
currentState == UpgradeState.CompatFailedResult ||
currentState == UpgradeState.ShowingWin10Update) {
showExitWindow();
}
else if (currentState == UpgradeState.WaitForRestartWindows) {
document.getElementById("exitButton").onclick = function () { minimizeApp(); return false; };
clearTimeout(countdownTimer);
document.getElementById("restartCountdownSection").style.display = "none";
window.open("app:RestartLater", "_self");
}
else {
throw "Unknown state: " + currentState;
}
}
function exit() {
document.getElementById("cancelButton").disabled = true;
if (isExitingInWaitingForCancellation) {
var secondsElapsedSinceEpoch = Math.floor(new Date().getTime() / 1000);
exitingAction = exitingAction + ";ExitingTimestamp:" + secondsElapsedSinceEpoch;
}
window.open(exitingAction, "_self");
}
function changeButtonState(enabled) {
document.getElementById("actionButton1").disabled = !enabled;
document.getElementById("actionButton2").disabled = !enabled;
}
function showCompatSuccessBlock() {
if (/Windows NT (5.1|6.0)/.test(navigator.userAgent)) {
document.getElementById("subtitle").innerHTML = L_v_subtitleDataOnly_TEXT;
}
var compatibilityText = "";
for (var index = 0; index < compatItemsTitle.length; index++) {
if (compatItemsTitle[index][1]) {
var compatItemContentColumnDesc = compatItemInfo[index].format(compatPassInfo[index]);
var compatItemContentColumn = compatItemTitleFormat.format(compatItemsTitle[index][0], compatItemContentColumnDesc);
var compatRow = compatFormat.format(compatPassed, compatItemContentColumn);
compatibilityText = compatibilityText + compatRow;
}
}
compatibilityText = "<table id='blockItemInfoCollection'>" + compatibilityText + "</table>";
document.getElementById("blockItemInfoCollectionDiv").style.display = "block";
document.getElementById("blockItemInfoCollectionDiv").innerHTML = compatibilityText;
var diskInfoPassElement = document.getElementById("systemDiskCheckPassInfo");
if ("Architecture" in properties && properties["Architecture"] == "X86") {
if (null != diskInfoPassElement) {
diskInfoPassElement.innerHTML = L_v_compatItemsX86DiskInfo_TEXT;
}
}
else {
if (null != diskInfoPassElement) {
diskInfoPassElement.innerHTML = L_v_compatItemsAmd64DiskInfo_TEXT;
}
}
if ("CosqueryBlockInfo" in properties) {
document.getElementById("cosqueryWarningInfo").style.display = "block";
document.getElementById("cosqueryWarningInfo").innerHTML = properties["CosqueryBlockInfo"];
}
var downloadCountdownSection = document.getElementById("downloadCountdownSection");
var actionButton2 = document.getElementById("actionButton2");
createTimer(1, 10, function (timeLeftInSeconds) {
downloadCountdownSection.innerHTML = L_v_downloadCountdown_TEXT + formatTime(timeLeftInSeconds);
}, function () {
actionButton2.click();
});
downloadCountdownSection.style.display = "block";
}
function showErrorBlock() {
var messageString = "";
if ("ErrorHRESULT" in properties) {
var errorHRESULT = parseInt(properties["ErrorHRESULT"]);
if (errorHRESULT > 0x80072ee0 && errorHRESULT <= 0x80072f9a || errorHRESULT == 0x80190001) {
// WINHTTP_ERROR_BAE ~ WINHTTP_ERROR_LAST
errorHRESULT = 0x80072ee0;
}
if (errorMap.hasOwnProperty(errorHRESULT)) {
messageString += errorMap[errorHRESULT] + "<BR>";
}
var suggestionString = L_v_ctrlGeneralSuggestion_TEXT.replace("{0}", "http://go.microsoft.com/fwlink/p/?LinkID=786329").replace("{1}", properties["ErrorHRESULT"]);
messageString += suggestionString;
}
document.getElementById("errorText").innerHTML = messageString;
document.getElementById("errorInfoSection").style.display = "block";
}
function showBlockItems() {
var blockGroupResult = {};
var blockGroupMessage = {};
var blockIndex = 0;
var compatcheckresult = Number(properties["CompatCheckResult"]);
var compatibilityText = "";
var recoverable = true;
while (blockIndex < blockItemInfo.length) {
var compatibilityIndex = blockItemInfo[blockIndex][1];
if (1 == (compatcheckresult % 2)) {
recoverable &= blockItemInfo[blockIndex][2];
blockGroupResult[compatibilityIndex] |= compatcheckresult % 2;
}
if ("undefined" == typeof (blockGroupMessage[compatibilityIndex]) && 1 == (compatcheckresult % 2)) {
if (CompatCheckItem.WindowsVersion == blockItemInfo[blockIndex][0] && "true" == properties["EnableXPFlag"]) {
blockGroupMessage[compatibilityIndex] = xpWindowVersionBlockDescription;
}
else {
blockGroupMessage[compatibilityIndex] = blockItemDescription[blockIndex][1];
}
}
compatcheckresult >>= 1;
blockIndex += 1;
}
var title = document.getElementById("title");
var subtitle = document.getElementById("subtitle");
var actionButton2 = document.getElementById("actionButton2");
if (recoverable) {
title.innerHTML = L_v_ctrlContentCompatFailedResultTitle_TEXT;
subtitle.innerHTML = L_v_ctrlContentCompatFailedResultSubtitle_TEXT;
subtitle.style.display = "block";
actionButton2.onclick = function () { invokeAppAction('app:Retry'); };
actionButton2.innerHTML = L_v_retry_TEXT;
actionButton2.style.display = "inline-block";
var exitButton = document.getElementById("exitButton");
exitButton.style.display = "inline-block";
} else {
title.innerHTML = L_v_ctrlContentCompatFailedResultNotRecoverableTitle_TEXT;
var buyNewPCSection = document.getElementById("buyNewPCSection");
buyNewPCSection.style.display = "block";
subtitle.innerHTML = L_v_ctrlContentCompatFailedResultNotRecoverableSubtitle_TEXT;
subtitle.style.display = "block";
actionButton2.onclick = function () { invokeAppAction("app:Exit;" + "ExitingState:" + UpgradeState.CompatFailedResult + ";ExitingHResult:-2147023673"); };
actionButton2.innerHTML = L_v_ok_TEXT;
actionButton2.style.display = "inline-block";
}
for (var index = 0; index < compatItemsTitle.length; index++) {
if (compatItemsTitle[index][1] || blockGroupResult.hasOwnProperty(index)) {
var compatRow = "";
if (blockGroupResult.hasOwnProperty(index)) {
var compatItemContentColumnDesc = compatItemFailInfo[index].format(blockGroupMessage[index]);
var compatItemContentColumn = compatItemTitleFormat.format(compatItemsTitle[index][0], compatItemContentColumnDesc);
compatRow = compatFormat.format(compatFailed, compatItemContentColumn);
}
else {
var compatItemContentColumnDesc = compatItemInfo[index].format(compatPassInfo[index]);
var compatItemContentColumn = compatItemTitleFormat.format(compatItemsTitle[index][0], compatItemContentColumnDesc);
compatRow = compatFormat.format(compatPassed, compatItemContentColumn);
}
compatibilityText = compatibilityText + compatRow;
}
}
compatibilityText = "<table id='blockItemInfoCollection'>" + compatibilityText + "</table>";
document.getElementById("blockItemInfoCollectionDiv").style.display = "block";
document.getElementById("blockItemInfoCollectionDiv").innerHTML = compatibilityText;
var memoryInfoElement = document.getElementById("memoryCheckInfo");
var diskInfoFailElement = document.getElementById("systemDiskCheckFailInfo");
var diskInfoPassElement = document.getElementById("systemDiskCheckPassInfo");
var cloudInfoElement = document.getElementById("cloudCheckInfo");
if ("Architecture" in properties && properties["Architecture"] == "X86") {
if (null != memoryInfoElement && blockGroupResult.hasOwnProperty(1)) {
memoryInfoElement.innerHTML = L_v_mem1G_TEXT;
}
if (null != diskInfoFailElement && blockGroupResult.hasOwnProperty(2)) {
diskInfoFailElement.innerHTML = L_v_disk16G_TEXT;
}
if (null != diskInfoPassElement && !blockGroupResult.hasOwnProperty(2)) {
diskInfoPassElement.innerHTML = L_v_compatItemsX86DiskInfo_TEXT;
}
}
else {
if (null != memoryInfoElement && blockGroupResult.hasOwnProperty(1)) {
memoryInfoElement.innerHTML = L_v_mem2G_TEXT;
}
if (null != diskInfoFailElement && blockGroupResult.hasOwnProperty(2)) {
diskInfoFailElement.innerHTML = L_v_disk20G_TEXT;
}
if (null != diskInfoPassElement && !blockGroupResult.hasOwnProperty(2)) {
diskInfoPassElement.innerHTML = L_v_compatItemsAmd64DiskInfo_TEXT;
}
}
if (null != cloudInfoElement && blockGroupResult.hasOwnProperty(9)) {
cloudInfoElement.innerHTML = properties["CloudCompatcheckResult"];
}
}
function showLoadingBlock() {
document.getElementById("loadingSection").style.display = "block";
}
function showEULABlock() {
document.getElementById("windows10EULA").style.display = "block";
document.getElementById("vanillaEULA").style.display = "block";
document.getElementById("windows10EULABackground").style.display = "block";
}
function showPushModeWaitingForCancellationProgress() {
fakePushModeProgress(0, 30, 10 * 60 * 1000 / 30, UpgradeState.PushModeWaitingForCancellation, false);
}
function showPushModeSetupProgress() {
fakePushModeProgress(30, 99, 10 * 60 * 1000 / 70, UpgradeState.PushModeInstall, true);
}
function fakePushModeProgress(currentProgress, maxProgress, timeout, upgradeState, timeoutIncrement) {
if (currentState != upgradeState) {
return;
}
if (currentProgress <= maxProgress) {
document.getElementById("percentage").innerHTML = L_progress_TEXT.replace("{0}", currentProgress);
var nextProgress = currentProgress + 1;
if (timeoutIncrement == true && currentProgress % 2 == 0)
{
timeout *= 1.42;
}
var action = "fakePushModeProgress(" + nextProgress + ", " + maxProgress + ", " + timeout + ", " + upgradeState + ", " + timeoutIncrement + ")";
clearTimeout(fakeProgressTimer);
fakeProgressTimer = setTimeout(action, timeout);
}
}
function showWelcomeBlock() {
if (currentLocale != "zh-cn") {
return;
}
var url = "http://cnupgrade.microsoft.com/GetWelcomePage?locale=" + currentLocale;
if (properties["UserUpgrade"] == "true") {
var userhardwareid = properties["UserHardwareID"];
var referralid = properties["UserReferralID"];
var cv = properties["CV"];
var signature = properties["UserSignature"];
if (userhardwareid && referralid && cv && signature) {
url = "https://win10upgrade.chinacloudsites.cn/GetUpgradeResult?partnerid=" + referralid
+ "&machineGuid=" + userhardwareid + "&cv=" + encodeURIComponent(cv) + "&key=" + signature + "&locale=" + currentLocale;
}
}
var loadingDiv = document.getElementById("loadingSection");
var ajax = createAjaxRequest("GET", url);
ajax.onreadystatechange = function () {
if (ajax.readyState == 4) {
var welcomeSection = document.getElementById("welcomeSection");
if (ajax.status == 200) {
welcomeSection.innerHTML = ajax.responseText;
}
loadingDiv.style.display = "none";
welcomeSection.style.display = "block";
// Log page id
logUserInteraction(document.getElementById('pageMetadata').getAttribute('data-pageId'));
}
};
ajax.send(null);
loadingDiv.style.display = "block";
}
function showUpdateWin10() {
document.getElementById("subtitle").innerHTML = L_v_ctrlContentShowWin10UpdateSubtitle_TEXT.replace("{0}", properties["CurrentOsVersion"]).replace("{1}", properties["LatestOsVersion"]);
document.getElementById("updateNowTip").style.display = "block";
document.getElementById('exitButton').innerHTML = L_doNotUpdateNow_TEXT;
}
function updateInstallingPageProgressText() {
if ("FakeInstallProgress" in properties && "true" == properties["FakeInstallProgress"]) {
var currentProgress = Number(properties["InstallProgress"]);
fakePushModeProgress(currentProgress, 99, 10 * 60 * 1000 / (100 - currentProgress), UpgradeState.Installing, true);
}
else if ("InstallProgress" in properties) {
document.getElementById("percentage").innerHTML = L_progress_TEXT.replace("{0}", properties["InstallProgress"]);
}
else {
document.getElementById("percentage").innerHTML = L_progress_TEXT.replace("{0}", "0");
}
document.getElementById("upgradeSection").style.display = "block";
}
function showDownloadProgress() {
var messageString = "";
if ("DownloadState" in properties) {
messageString = DownloadMessage[properties["DownloadState"]];
}
else {
messageString = controlContent[currentStateIndex][2];
}
if ("DownloadProgress" in properties) {
document.getElementById("percentage").innerHTML = L_progress_TEXT.replace("{0}", properties["DownloadProgress"]);
}
document.getElementById("subtitle").innerHTML = messageString;
document.getElementById("upgradeSection").style.display = "block";
}
function showWaitForRestartWindowsPage() {
document.getElementById("rebootPageDisclaimer").style.display = "block";
document.getElementById("exitButton").innerHTML = L_v_ctrlContentRebootLater_TEXT;
document.getElementById("exitButton").style.display = "inline-block";
startRestartCountdown();
}
function showAdvanceOptions() {
document.getElementById("optionDetails").innerHTML = L_v_subtitleDefault_TEXT;
if (/Windows NT (5.1|6.0)/.test(navigator.userAgent)) {
if (document.getElementById("winXPAdvanceOptionsForm").style.display != "block") {
document.getElementById("winXPAdvanceOptionsForm").style.display = "block";
if ("true" == properties["SupportCrossArchUpgrade"]) {
document.getElementById("targetX64CheckBoxDiv").style.display = "block";
}
else {
document.getElementById("targetX64CheckBoxDiv").style.display = "none";
}
}
else {
document.getElementById("winXPAdvanceOptionsForm").style.display = "none";
}
}
else {
if (document.getElementById("win7AdvanceOptionsForm").style.display != "block") {
document.getElementById("win7AdvanceOptionsForm").style.display = "block";
}
else {
document.getElementById("win7AdvanceOptionsForm").style.display = "none";
}
}
clearTimeout(countdownTimer);
document.getElementById("downloadCountdownSection").style.display = "none";
}
function setAdvanceOption(advanceOptionsElement) {
var advanceOption = advanceOptionsElement.getAttribute("value");
var advanceId = advanceOptionsElement.getAttribute("id");
if (/Windows NT (5.1|6.0)/.test(navigator.userAgent)) {
if (advanceId == "targetX64CheckBox" && document.getElementById("targetX64CheckBox").checked) {
document.getElementById("XPClean").checked = true;
}
else if (advanceId == "XPDataOnly" && document.getElementById("XPDataOnly").checked) {
document.getElementById("targetX64CheckBox").checked = false;
}
if (document.getElementById("XPClean").checked == true &&
document.getElementById("targetX64CheckBox").checked != true) {
// if X64Clean is not checked, then use the Clean
advanceOption = document.getElementById("XPClean").getAttribute("value");
}
if (document.getElementById("XPClean").checked == true) {
document.getElementById("optionDetails").innerHTML = L_v_subtitleClean_TEXT;
}
else if (document.getElementById("XPDataOnly").checked == true) {
document.getElementById("optionDetails").innerHTML = L_v_subtitleDataOnly_TEXT;
}
}
else {
if (document.getElementById("Win7Clean").checked == true) {
document.getElementById("optionDetails").innerHTML = L_v_subtitleClean_TEXT;
}
else if (document.getElementById("Win7DataOnly").checked == true) {
document.getElementById("optionDetails").innerHTML = L_v_subtitleDataOnly_TEXT;
}
else if (document.getElementById("Win7Full").checked == true) {
document.getElementById("optionDetails").innerHTML = L_v_subtitleDefault_TEXT;
}
}
window.open("upgradeoption:" + advanceOption, "_self");
}
function sendCommand(command) {
window.open(command, "_self");
}
function replaceImgSrc(imgId, newSrc) {
var imgElement = document.getElementById(imgId);
if (null != imgElement) {
imgElement.setAttribute('src', newSrc);
}
}
function getEulaLocale(localeToCheck) {
var localeList = [
"ar-sa",
"bg-bg",
"cs-cz",
"da-dk",
"de-de",
"el-gr",
"en-gb",
"en-us",
"es-es",
"es-mx",
"et-ee",
"fi-fi",
"fr-fr",
"fr-ca",
"he-il",
"hr-hr",
"hu-hu",
"it-it",
"ja-jp",
"ko-kr",
"lt-lt",
"lv-lv",
"nb-no",
"nl-nl",
"pl-pl",
"pt-pt",
"pt-br",
"ro-ro",
"ru-ru",
"sk-sk",
"sl-si",
"sr-latn-cs",
"sv-se",
"th-th",
"tr-tr",
"uk-ua",
"zh-cn",
"zh-hk",
"zh-tw"
];
for (var index = 0; index < localeList.length; index++) {
if (localeList[index] == localeToCheck) {
return localeToCheck;
}
}
var languageToCheck = localeToCheck.split("-");
for (var index = 0; index < localeList.length; index++) {
if (localeList[index].indexOf(languageToCheck[0]) == 0) {
return localeList[index];
}
}
for (var index = 0; index < localeList.length; index++) {
if (localeList[index].indexOf(languageToCheck[0]) == 3) {
return localeList[index];
}
}
return "";
}
// localization data
window.onload = function () {
document.getElementById('supportLink').innerHTML = L_supportLink_TEXT;
document.getElementById('title').innerHTML = L_title_TEXT;
document.getElementById('disclaimer').innerHTML = L_disclaimer_TEXT.replace("{0}", "http://windows.com/windows10specs");
document.getElementById('rebootPageDisclaimer').innerHTML = L_rebootPageDisclaimer_TEXT;
document.getElementById('exitConfirmText').innerHTML = L_exitConfirmText_TEXT;
document.getElementById('exitConfirmTitle').innerHTML = L_exitConfirmTitle_TEXT;
document.getElementById('cancelButton').innerHTML = L_cancelButton_TEXT;
document.getElementById('exitAppButton').innerHTML = L_exitAppButton_TEXT;
document.getElementById('exitMessaging1').innerHTML = L_exitMessaging1_TEXT;
document.getElementById('exitMessaging2').innerHTML = L_exitMessaging2_TEXT;
document.getElementById('exitMessaging3').innerHTML = L_exitMessaging3_TEXT;
document.getElementById('exitMessaging4').innerHTML = L_exitMessaging4_TEXT;
document.getElementById('upgradeSectionItem1').innerHTML = L_upgradeSectionItem1_TEXT;
document.getElementById('upgradeSectionItem2').innerHTML = L_upgradeSectionItem2_TEXT;
document.getElementById('upgradeSectionItem3').innerHTML = L_upgradeSectionItem3_TEXT;
document.getElementById('upgradeSectionItem4').innerHTML = L_upgradeSectionItem4_TEXT;
document.getElementById('loadingProgress').innerHTML = L_loadingProgress_TEXT;
document.getElementById('buyNewPCSection').innerHTML = L_buyNewPCSection_TEXT.replace("{0}", "http://windows.com/devices");
document.getElementById('progressText').innerHTML = L_progressText_TEXT;
document.getElementById('exitButton').innerHTML = L_exitButton_TEXT;
document.getElementById('restartCountdownText').innerHTML = L_restartCountdownText_TEXT;
document.getElementById('header').innerHTML = "";
document.getElementById("updateNowTip").innerHTML = L_updateNowTip_TEXT.replace("{0}", "http://go.microsoft.com/fwlink/?LinkId=799091");
locInit();
}
var f = document.createElement('script');
f.src = "res://Windows10UpgraderApp.exe/strings.js";
document.getElementsByTagName("head")[0].appendChild(f);
// Override some strings in win10 to win10 update scenario.
var hash = (location.hash).split("_");
if (hash[0] == "#win10") {
var g = document.createElement('script');
g.src = "res://Windows10UpgraderApp.exe/stringswin10.js";
document.getElementsByTagName("head")[0].appendChild(g);
}
var currentLocale = navigator.browserLanguage.toLowerCase();
var currentLanguage = currentLocale.split("-");
var eulaLocale = getEulaLocale(currentLocale);
if (eulaLocale == "" && hash.length > 1 && hash[1].length > 1) {
var systemDefaultLocale = hash[1].toLowerCase();
eulaLocale = getEulaLocale(systemDefaultLocale);
}
if (eulaLocale == "") {
eulaLocale = "en-us";
}
var v_eula = "EULA/EULA_" + eulaLocale + ".htm";
if (currentLocale == "zh-cn") {
document.body.style.fontFamily = 'Microsoft YaHei';
}
else if (currentLocale == "zh-tw" || currentLocale == "zh-hk") {
document.body.style.fontFamily = 'Microsoft JhengHei UI';
}
else if (currentLocale == "ja-jp") {
document.body.style.fontFamily = '"Meiryo UI", "Yu Gothic UI"';
}
else if (currentLocale == "ko-kr") {
document.body.style.fontFamily = 'Malgun Gothic';
}
else if (currentLocale == "th-th") {
document.body.style.fontFamily = '"Leelawadee UI", Leelawadee';
}
if (currentLanguage[0] == "ar" || currentLanguage[0] == "he") {
var htmlNode = document.getElementsByTagName("html")[0];
htmlNode.setAttribute("dir", "rtl");
}
</script>
</body>
</html>