<?xml version="1.0" encoding="utf-8"?>
<setup title="NVIDIA CUDA" version="12.6" installerMin="2.1002.0.0">
	<include filter="not-manifest" name="${{InstallerDllDirectory}}\theme.cfg" select="/theme/*"/>
	<filter name="treeview"/>
	<filter name="UniversalDisplayDriver" device="Universal:PCI\VEN_10DE*"/>
	<strings>
		<string name="ExpressDescriptionMsgForCUDA" value="Installs all CUDA components and overwrites current Display Driver."/>
		<string name="CustomDescriptionMsgForCUDA" value="Allows you to select the components you want to install."/>
		<string name="CompNotAvailable" value="Not Available"/>
		<string name="ErrorInstallerNeedsDiskSpace" value="To continue, free up additional disk space.
Required space: "/>
		<string name="PackageType" value="UDA"/>
		<string name="InstallPreparingCUDA" value="Preparing for installation"/>
		<string name="OptimusInstallBlockedMessage" value="${{OptimusTitle}} cannot be installed on this computer."/>
		<string name="NVGeForceExperienceName" value="NVIDIA GeForce Experience"/>
		<string name="BlockDeviceInitiatedMessage" value="Device initiated installation detected. Blocking installation of package"/>
		<string name="BlockGFExperienceDeviceInitiatedMessage" value="${{BlockDeviceInitiatedMessage}} ${{NVGeForceExperienceName}}"/>
		<string name="HonorInfSupportFlag" value="true"/>
		<string name="MinOSVersionForVirtialAudioDriverMessage" value="Virtual Audio Driver requires Windows 7 or later."/>
		<string name="BlockIfNoNetFrameworkAndInternetMessage" value="${{NVGeForceExperienceName}} installation requires ${{MSNetFramework4}}. Continue to install other components, or connect to the internet and try again."/>
		<string name="BlockNvStreamSrvMessage" value="NvStreamSrv not allowed to be installed."/>
		<string name="BlockShadowPlayMessage" value="ShadowPlay not allowed to be installed."/>
		<string name="ProductType" value="400"/>
		<string name="DriverProductTitle" value="NVIDIA Graphics Driver"/>
		<string name="NotAnUpgradeMessage" value="A newer or a same version is present."/>
		<string name="DriverBlockInstall" value="${{DriverProductTitle}} not supported on the current graphics hardware."/>
	</strings>
	<constraints>
		<platforms list="X86, AMD64, ARM32" level="critical" text="${{ErrorUnsupportedPlatform}}"/>
		<reject tests="PACKAGES" level="critical" text="${{ErrorNoPackagesToInstall}}"/>
		<reject tests="REQUIRED" level="critical" text="${{ErrorMissingRequiredPackages}}"/>
		<reject tests="FILES" level="critical" text="${{ErrorMissingPackageFiles}}"/>
		<reject tests="INSTALL, MSI, WUINSTALL" level="critical" text="${{ErrorInstallerAlreadyRunning}}"/>
		<reject tests="PNP" level="wait" text="${{WaitPnpAlreadyRunning}}"/>
		<reject tests="REBOOT" level="critical" text="${{ErrorInstallerNeedReboot}}"/>
		<reject tests="DUPLICATES" level="critical" text="${{ErrorPackageCorrupt}}"/>
		<diskSpace name="diskSpaceCheck" level="retry" text="${{ErrorInstallerNeedsDiskSpace}}" when="preInstall"/>
	</constraints>
	<current>
		<deselect name="."/>
		<select name="DisplayControlPanel.NVX"/>
		<select name="NVDisplaySessionContainer.NVX"/>
		<select name="NVDisplayPluginWatchdog.NVX"/>
		<select name="NVDisplayContainerLS.NVX"/>
		<select name="NVDisplayContainer.NVX"/>
		<select name="NVDisplayMessageBus.NVX"/>
		<select name="NvCamera.NVX"/>
		<select name="NVWmi.NVX"/>
		<select name="NvApp.NVX"/>
	</current>
	<install>
		<search dir=".">
			<select name="**\*"/>
			<deselect name="english\**\*"/>
			<if filter="!UniversalDisplayDriver">
				<deselect name="**\universal\Display.Driver\**\*"/>
			</if>
			<if filter="UniversalDisplayDriver">
				<deselect name="**\legacy\Display.Driver\**\*"/>
			</if>
		</search>
		<sub-package name="Display.Driver" disposition="default">
			<constraints>
				<overinstall name="CheckIfNotAnUpgrade" whenCurrent="lowerversion,sameversion" level="skip" text="${{NotAnUpgradeMessage}}"/>
			</constraints>
			<options>
				<int name="v" property="DisplayVertical"/>
				<int name="h" property="DisplayHorizontal"/>
				<int name="b" property="ColorDepth"/>
				<int name="j" property="Frequency"/>
			</options>
			<customInstallTree>
				<treeNode text="Display Driver" ordering="Driver components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Display.3DVision">
			<customInstallTree>
				<treeNode text="3D Vision" ordering="Driver components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Display.NVIRUSB">
			<customInstallTree>
				<treeNode text="3D Vision Controller Driver" ordering="Driver components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Display.NView">
			<customInstallTree>
				<treeNode text="RTX Desktop Manager" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Update.Core">
			<dependencies>
				<package type="after" package="Display.Driver"/>
				<package type="after" package="Display.ControlPanel"/>
			</dependencies>
		</sub-package>
		<sub-package name="Display.Optimus">
			<constraints>
				<property name="Display.Driver!Feature.DisplayOptimus" level="silent" text="${{OptimusInstallBlockedMessage}}"/>
			</constraints>
		</sub-package>
		<sub-package name="Display.NVWMI">
			<dependencies>
				<package type="after" package="Display.Driver"/>
				<package type="after" package="Display.ControlPanel"/>
				<package type="requires" package="Display.Driver"/>
			</dependencies>
			<customInstallTree>
				<treeNode text="NVWMI" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Miracast.VirtualAudio">
			<customInstallTree>
				<treeNode text="VirtualAudio" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Display.GFExperience" disposition="default">
			<constraints>
				<custom name="CheckIfNotAnUpgrade" level="skip" text="${{NotAnUpgradeMessage}}"/>
				<custom name="CheckIfInfSupported" level="silent" text="${{DriverBlockInstall}}"/>
				<custom name="BlockPackagesIfNoNetFrameworkAndInternet" level="warn" text="${{BlockIfNoNetFrameworkAndInternetMessage}}"/>
				<property name="!IsSetupInitiated" level="silent" text="${{BlockGFExperienceDeviceInitiatedMessage}}"/>
			</constraints>
			<dependencies>
				<package type="installs" package="VirtualAudio.Driver"/>
				<package type="installs" package="GFExperience.NvStreamSrv"/>
				<package type="after" package="Display.Driver"/>
			</dependencies>
			<properties>
				<bool name="HonorInfSupportFlag" value="${{HonorInfSupportFlag}}"/>
			</properties>
			<customInstallTree>
				<treeNode text="NVIDIA GeForce Experience" ordering="NVIDIA GeForce Experience components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="HDAudio.Driver">
			<dependencies>
				<package type="requires" package="Display.Driver"/>
			</dependencies>
			<customInstallTree>
				<treeNode text="HD Audio" ordering="Driver components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Display.PhysX">
			<customInstallTree>
				<treeNode text="PhysX" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="MS.NET40">
			<customInstallTree>
				<treeNode text="Microsoft .NET Framework" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="Network.Service">
			<dependencies>
				<package type="after" package="Display.Driver"/>
				<package type="after" package="Display.ControlPanel"/>
			</dependencies>
		</sub-package>
		<sub-package name="Display.Update" disposition="silent">
			<dependencies>
				<package type="requires" package="Display.GFExperience"/>
			</dependencies>
		</sub-package>
		<sub-package name="VirtualAudio.Driver" disposition="demand" hidden="true">
			<dependencies>
				<package type="after" package="Display.Driver"/>
			</dependencies>
			<constraints>
				<os min="6.1" level="silent" text="${{MinOSVersionForVirtialAudioDriverMessage}}"/>
			</constraints>
		</sub-package>
		<sub-package name="GFExperience.NvStreamSrv">
			<dependencies>
				<package type="requires" package="Display.GFExperience"/>
				<package type="after" package="Display.Driver"/>
			</dependencies>
			<constraints>
				<custom name="CheckDriverSupport" level="silent" text="${{BlockNvStreamSrvMessage}}"/>
			</constraints>
		</sub-package>
		<sub-package name="ShadowPlay">
			<dependencies>
				<package type="requires" package="Display.GFExperience"/>
				<package type="after" package="Display.Driver"/>
			</dependencies>
			<constraints>
				<custom name="CheckDriverSupport" level="silent" text="${{BlockShadowPlayMessage}}"/>
			</constraints>
		</sub-package>
		<sub-package name="NvContainer">
			<dependencies>
				<package type="after" package="Display.ControlPanel"/>
				<package type="after" package="NVDisplayContainer"/>
				<package type="after" package="Display.Driver"/>
			</dependencies>
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvContainer.NetworkService">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvContainer.LocalSystem">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvContainer.MessageBus">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvContainer.User">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvContainer.UserElevated">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="NvPlugin.Watchdog">
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
		</sub-package>
		<sub-package name="Ansel">
			<customInstallTree>
				<treeNode text="Ansel" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="NvAbHub">
			<customInstallTree>
				<treeNode text="NVIDIA ABHub" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="USBC">
			<customInstallTree>
				<treeNode text="USBC Driver" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="NGXCore">
			<customInstallTree>
				<treeNode text="NGXCore" ordering="Other components" accessibility="selectable"/>
			</customInstallTree>
		</sub-package>
		<sub-package name="FrameViewSdk" continueOnFailure="true" hidden="UI">
			<constraints>
				<overinstall name="FrameViewSdkDowngrade" text="${{ErrorDowngrade}}" whenCurrent="lowerversion" level="silent"/>
				<os min="10" name="FrameViewSdkMinWin10" text="${{ErrorMinWin10}}" level="silent"/>
			</constraints>
			<properties>
				<bool name="IsGFExperienceComponent" value="true"/>
			</properties>
			<dependencies>
				<package type="after" package="Display.GFExperience"/>
			</dependencies>
		</sub-package>
	</install>
	<properties>
		<string name="EulaFile" value="${{InstallerDirectory}}\EULA.txt"/>
		<string name="ArpIcon" value="${{InstallerDllDirectory}}\NVI2.dll,0"/>
		<string name="CudaPackageType" value="0"/>
		<string name="resultListHeight" value="120pt"/>
		<string name="finishOptionRowHeight" value="15pt"/>
		<string name="finishOptionY" value="220pt"/>
		<string name="PackageType" value="${{PackageType}}"/>
		<string name="ProductType" value="400"/>
		<string name="DefaultDownloadFailure" value="${{DefaultDownloadFailure}}"/>
		<string name="SignatureCheckFailure" value="${{SignatureCheckFailure}}"/>
		<string name="DataWriteFailure" value="${{DataWriteFailure}}"/>
		<string name="NetworkFailureNoConnection" value="${{NetworkFailureNoConnection}}"/>
		<string name="NetworkFailureTryAgain" value="${{NetworkFailureTryAgain}}"/>
		<bool name="OverrideConsentFeature" value="true"/>
		<bool name="DisableTraffic" value="true"/>
	</properties>
	<options>
		<bool name="clean" property="CleanInstall"/>
		<bool name="prestage" property="PrestageInstall"/>
		<bool name="validate" property="ValidationInstall"/>
		<string name="validationFile" property="ValidationFile"/>
		<bool name="forcereboot" property="RebootRequired"/>
		<bool name="noreboot" property="IgnoreReboot"/>
		<bool name="k" property="RebootRequired"/>
		<bool name="n" property="IgnoreReboot"/>
		<bool name="passive" property="ProgressOnly"/>
		<bool name="noeula" property="SkipEula"/>
		<bool name="nofinish" property="SkipFinish"/>
		<bool name="ignorepnp" property="IgnorePnpFlag"/>
		<bool name="progresswitheula" property="ProgressWithEula"/>
		<bool name="nosplash" property="NoSplashScreen"/>
	</options>
	<forms>
		<form name="InstallSelectCustomTemplate" base="!InstallTemplate" locale="0x0000" default="next" focus="next">
			<properties>
				<bool name="!DisableCloseButton" value="false"/>
				<string name="@SideBarProgress" value="Options"/>
			</properties>
			<control name="header"/>
			<control name="headText" style="header" x="137pt" y="63pt" width="294pt" height="23pt" text="${{CustomInstallOptions}}"/>
			<control name="body"/>
			<control name="instructions" style="label" x="137pt" y="90pt" width="294pt" height="15pt" text="${{CustomInstallInstructions}}"/>
			<if filter="treeview">
				<control name="compTree" style="compTreeList" x="137pt" y="105pt" width="294pt" height="130pt" verNotInstalledText="${{CompNotAvailable}}"/>
				<else>
					<control name="compList" style="compList" x="137pt" y="105pt" width="294pt" height="130pt" verNotInstalledText="${{CompNotAvailable}}"/>
				</else>
			</if>
			<control name="footer"/>
			<control name="back" onClick="CurrentForm" clickValue="InstallSelect"/>
		</form>
		<form name="InstallSelectTemplate" base="!InstallTemplate" locale="0x0000" default="next" focus="next">
			<properties>
				<string name="@InstallSelectBegin" value="Debug"/>
				<bool name="!DisableCloseButton" value="false"/>
				<string name="@SideBarProgress" value="Options"/>
				<string name="@InstallSelectNext" value=""/>
				<string name="@InstallSelectEnd" value="Debug"/>
			</properties>
			<conditions>
				<switch property="InstallType">
					<case value="Express">
					</case>
					<default>
					</default>
				</switch>
				<switch property="@InstallSelectNext">
					<case value="Activated">
						<switch property="InstallType">
							<case value="Express">
								<properties>
									<bool name="NextFormGroup" value="true"/>
								</properties>
							</case>
							<default>
								<properties>
									<string name="CurrentForm" value="InstallSelectCustom"/>
								</properties>
							</default>
						</switch>
					</case>
				</switch>
			</conditions>
			<control name="header"/>
			<control name="headText" style="header" x="137pt" y="63pt" width="294pt" height="23pt" text="${{InstallOptions}}"/>
			<control name="body"/>
			<control name="express" style="radio" x="137pt" y="90pt" width="294pt" text="${{ExpressRecommended}}" property="InstallType" selectedValue="Express" initSelect="true"/>
			<control name="expressAdvice" style="label" x="152pt" y="108pt" width="212pt" height="45pt" text="${{ExpressDescriptionMsgForCUDA}}"/>
			<control name="custom" style="radio" x="137pt" y="150pt" width="294pt" text="${{CustomAdvanced}}" property="InstallType" selectedValue="Custom" initSelect="false"/>
			<control name="customAdvice" style="label" x="152pt" y="168pt" width="215pt" height="45pt" text="${{CustomDescriptionMsgForCUDA}}"/>
			<control name="displayFlash" style="label" x="137pt" y="222pt" width="294pt" height="40pt" text="${{DisplayFlash}}"/>
			<control name="footer"/>
			<control name="next" onClick="@InstallSelectNext" clickValue="Activated"/>
			<if filter="progressPresentation">
				<control name="progressPresentation" style="progressPresentation"/>
			</if>
		</form>
		<form name="InstallFinishedTemplate" base="!InstallSuccessTemplate" locale="0x0000" cancel="next" default="next" focus="next">
			<control name="header"/>
			<control name="headText" style="header" x="137pt" y="63pt" width="294pt" height="23pt" text="${{InstallerFinished}}"/>
			<control name="body"/>
			<control name="resultsList" style="installResults" x="137pt" y="90pt" width="294pt" height="120pt"/>
			<control name="finishOptions" style="finishOptions" x="134pt" y="220pt" width="294pt" height="55pt"/>
			<control name="footer"/>
			<control name="back" hidden="true" disabled="true"/>
			<control name="cancel" hidden="true" disabled="true"/>
			<control name="next" x="366pt" text="${{CloseButtonText}}" onClick="CloseInstall"/>
		</form>
		<form name="InstallFinishedOptionsTemplate" base="!InstallSuccessTemplate" locale="0x0000" cancel="next" default="next" focus="next">
			<conditions>
				<switch property="!CudaPackageType">
					<case value="GFECombo">
						<string name="!resultListHeight" value="107pt"/>
						<string name="!finishOptionY" value="200pt"/>
						<string name="!finishOptionRowHeight" value="13pt"/>
					</case>
					<default>
						<string name="!resultListHeight" value="120pt"/>
						<string name="!finishOptionY" value="220pt"/>
						<string name="!finishOptionRowHeight" value="15pt"/>
					</default>
				</switch>
			</conditions>
			<control name="header"/>
			<control name="headText" style="header" x="137pt" y="63pt" width="294pt" height="23pt" text="${{InstallerFinished}}"/>
			<control name="body"/>
			<control name="resultsList" style="installResults" x="137pt" y="90pt" width="294pt" height="${!resultListHeight}"/>
			<control name="finishOptions" style="finishOptions" x="134pt" y="${!finishOptionY}" width="294pt" height="55pt" rowHeight="${!finishOptionRowHeight}"/>
			<control name="footer"/>
			<control name="back" hidden="true" disabled="true"/>
			<control name="cancel" hidden="true" disabled="true"/>
			<control name="next" x="366pt" text="${{CloseButtonText}}" onClick="CloseInstall"/>
		</form>
		<form name="InstallRebootOptionsTemplate" base="!InstallSuccessTemplate" locale="0x0000" cancel="next" default="next" focus="next">
			<control name="header"/>
			<control name="headText" style="header" x="137pt" y="63pt" width="294pt" height="23pt" text="${{InstallerFinished}}"/>
			<control name="body"/>
			<control name="resultsList" style="installResults" x="137pt" y="90pt" width="294pt" height="110pt"/>
			<control name="finishOptions" style="finishOptions" x="134pt" y="205pt" width="315pt" height="40pt" rowHeight="15pt"/>
			<control name="infoIcon" class="image" x="137pt" y="245pt" width="12pt" height="12pt" sourceFile="info.png"/>
			<control name="rebootInstructions" style="label" x="153pt" y="247pt" width="278pt" height="15pt" text="${{InstallRebootInstructions}}"/>
			<control name="footer"/>
			<control name="back" hidden="true" disabled="true"/>
			<control name="next" style="mediumPrimaryButton" x="227pt" text="${{RestartNowButtonText}}"/>
			<control name="cancel" style="mediumSecondaryButton" x="333pt" text="${{RestartLaterButtonText}}"/>
		</form>
		<if filter="progressPresentation">
			<form name="PreInstallCheckProgressPresentationTemplate" base="!ProgressPresentationTemplate" locale="0x0000">
				<properties>
					<bool name="!DisableCloseButton" value="true"/>
					<string name="@SideBarProgress" value="Progress"/>
				</properties>
				<control name="waitTimeout" class="timer" onTimeout="NextFormGroup" timeoutValue="true" duration="1000" start="true"/>
				<control name="taskInfo" text="${{InstallPreparingCUDA}}"/>
				<control name="progressBar" marquee="true"/>
			</form>
		</if>
		<form name="PreInstallCheckTemplate" base="!InstallProgressBarTemplate" locale="0x0000" cancel="cancel">
			<properties>
				<string name="@SideBarProgress" value="Progress"/>
			</properties>
			<control name="waitTimeout" class="timer" onTimeout="NextFormGroup" timeoutValue="true" duration="1000" start="true"/>
			<control name="headText" text="${{InstallPreparingCUDA}}"/>
			<control name="progressBar" marquee="true"/>
		</form>
	</forms>
	<manifest>
		<file name="setup.exe"/>
		<file name="setup.cfg"/>
		<file name="eula.txt"/>
		<file name="${{InstallerDllDirectory}}/NVI2.dll"/>
		<file name="${{InstallerDllDirectory}}/NVI2UI.dll"/>
		<file name="${{InstallerDllDirectory}}/NVPrxy32.dll"/>
		<file name="${{InstallerDllDirectory}}/NVPrxy64.dll"/>
		<file name="${{InstallerDllDirectory}}/NVNetworkService.exe"/>
		<file name="${{InstallerDllDirectory}}/NVNetworkServiceAPI.dll"/>
		<file name="${{InstallerDllDirectory}}/theme.cfg"/>
		<file name="${{InstallerDllDirectory}}/*.ui.forms"/>
		<file name="${{InstallerDllDirectory}}/*.ui.strings"/>
		<file name="${{InstallerDllDirectory}}/*.png"/>
		<file name="${{InstallerDllDirectory}}/*.jpg"/>
	</manifest>
</setup>
