<?xml version="1.0" encoding="utf-8"?>
<nvi name="NVIDIA.Update" title="${{title}}" version="${{version}}" versionText="${{version}}" timestamp="2013-08-27T13:34:06" disposition="demand" installerMin="2.1002.118.741" hidden="true" continueOnFailure="true">
	<filter name="XP" min="5.1" max="5"/>
	<filter name="amd64" platform="amd64"/>
	<filter name="minVista" min="6.0"/>
	<strings>
		<string name="version" value="8.3.14"/>
		<string name="updatusInterfaceName" value="updatusInterface"/>
		<string name="updatusInterfaceVersion" value="2.0"/>
		<string name="updatusService" value="nvUpdatusService"/>
		<string name="UpdateCommonPath" value="${{NvidiaProgramFiles}}\Update Common"/>
		<string name="UpdateCommonX86Path" value="${{NvidiaProgramFilesX86}}\Update Common"/>
		<string name="NVIDIAUpdateCoreX86Path" value="${{NvidiaProgramFilesX86}}\NVIDIA Update Core"/>
		<string name="NVTrayProcessName" value="nvtray.exe"/>
		<string name="NvTrayExePath" value="${{NvidiaProgramFiles}}\Display\${{NVTrayProcessName}}"/>
		<string name="NvUpdtPath" value="${{NvidiaProgramFiles}}\Update Common\NvUpdt.dll"/>
		<string name="International" value="true"/>
		<string name="NvuidllPath" value="${{NvidiaProgramFiles}}\Display\nvui.dll"/>
		<string name="MinNvtrayVersionForVer2Restart" value="310.19"/>
		<string name="CPLPackageIdentifier" value="Display.ControlPanel"/>
		<localized locale="0x0409">
			<string name="title" value="NVIDIA Update Components"/>
			<string name="InstallSafeModeBlockedMessage" value="${{title}} cannot be installed in safe mode."/>
			<string name="comment" value="Used to provide NVIDIA software updates"/>
		</localized>
		<localized locale="0x0401">
			<string name="comment" value="مستخدم لتوفير تحديثات برنامج NVIDIA"/>
		</localized>
		<localized locale="0x0405">
			<string name="comment" value="Použito pro poskytnutí softwarových aktualizací NVIDIA"/>
		</localized>
		<localized locale="0x0406">
			<string name="comment" value="Brugt til at give NVIDIA-softwareopdateringer"/>
		</localized>
		<localized locale="0x0407">
			<string name="comment" value="Stellt NVIDIA Software-Updates bereit"/>
		</localized>
		<localized locale="0x0408">
			<string name="comment" value="Χρησιμοποιείται για παροχή ενημερώσεων λογισμικού NVIDIA"/>
		</localized>
		<localized locale="0x0809">
			<string name="comment" value="Used to provide NVIDIA software updates"/>
		</localized>
		<localized locale="0x040a">
			<string name="comment" value="Utilizado para proporcionar actualizaciones del software de NVIDIA"/>
		</localized>
		<localized locale="0x080a">
			<string name="comment" value="Se utiliza para proporcionar actualizaciones del software de NVIDIA"/>
		</localized>
		<localized locale="0x040b">
			<string name="comment" value="Käytetään NVIDIA-ohjelmistopäivityksille"/>
		</localized>
		<localized locale="0x040c">
			<string name="comment" value="Utilisé pour fournir les mises à jour de logiciels NVIDIA"/>
		</localized>
		<localized locale="0x040d">
			<string name="comment" value="מספק עדכוני תכנה של NVIDIA"/>
		</localized>
		<localized locale="0x040e">
			<string name="comment" value="NVIDIA szoftverfrissítések beszerzéséhez használható"/>
		</localized>
		<localized locale="0x0410">
			<string name="comment" value="Utilizzato per fornire gli aggiornamenti del software NVIDIA"/>
		</localized>
		<localized locale="0x0411">
			<string name="comment" value="NVIDIA ソフトウェア更新プログラムを提供するために使用されます"/>
		</localized>
		<localized locale="0x0412">
			<string name="comment" value="NVIDIA 소프트웨어 업데이트 제공에 사용"/>
		</localized>
		<localized locale="0x0413">
			<string name="comment" value="Gebruikt om NVIDIA-softwareupdates te verstrekken"/>
		</localized>
		<localized locale="0x0414">
			<string name="comment" value="Brukes til å levere NVIDIA programvareoppdateringer"/>
		</localized>
		<localized locale="0x0415">
			<string name="comment" value="Służy do zapewniania aktualizacji oprogramowania NVIDIA"/>
		</localized>
		<localized locale="0x0816">
			<string name="comment" value="Utilizado para fornecimento de actualizações do software da NVIDIA"/>
		</localized>
		<localized locale="0x0416">
			<string name="comment" value="Usado para fornecer atualizações do software NVIDIA"/>
		</localized>
		<localized locale="0x0419">
			<string name="comment" value="Используется для установки обновлений ПО NVIDIA"/>
		</localized>
		<localized locale="0x041b">
			<string name="comment" value="Používa sa na poskytovanie aktualizácií softvéru NVIDIA"/>
		</localized>
		<localized locale="0x0424">
			<string name="comment" value="Se uporablja za posodobitve programske opreme NVIDIA"/>
		</localized>
		<localized locale="0x041d">
			<string name="comment" value="Används för att tillhandahålla NVIDIA-programuppdateringar"/>
		</localized>
		<localized locale="0x041e">
			<string name="comment" value="ใช้ในการหาโปรแกรมอัพเดตซอฟต์แวร์ของ NVIDIA"/>
		</localized>
		<localized locale="0x041f">
			<string name="comment" value="NVIDIA yazılım güncelleştirmeleri için kullanılır"/>
		</localized>
		<localized locale="0x0804">
			<string name="comment" value="用于提供 NVIDIA 软件更新"/>
		</localized>
		<localized locale="0x0404">
			<string name="comment" value="用來提供 NVIDIA 軟體更新"/>
		</localized>
	</strings>
	<description/>
	<constraints>
		<reject tests="SAFEMODE" level="silent" text="${{InstallSafeModeBlockedMessage}}"/>
	</constraints>
	<interfaces>
		<interface name="${{updatusInterfaceName}}" version="${{updatusInterfaceVersion}}"/>
	</interfaces>
	<dependencies/>
	<extensions>
		<extension file="UpdateExt.dll"/>
	</extensions>
	<properties>
		<bool name="IsInternational" value="${{International}}"/>
		<bool name="FixedInstallLocation" value="true"/>
		<string name="InstallLocation" value="${{NVIDIAUpdateCoreX86Path}}"/>
		<string name="EasyAPI32BitDll" value="EasyDaemonAPIU32.dll"/>
		<string name="UpdatusInterfaceName" value="${{updatusInterfaceName}}"/>
		<string name="UpdateType" value="GFExperience"/>
	</properties>
	<manifest>
		<file name="UpdateCommon.nvi"/>
		<file name="UpdateExt.dll"/>
		<file name="daemonu.exe"/>
		<file name="WLMerger.exe"/>
		<file name="ComUpdatus.exe"/>
		<file name="NvUpdt32.dll"/>
		<file name="NvUpdt64.dll"/>
		<file name="NvUpdtXP32.dll"/>
		<file name="NvUpdtXP64.dll"/>
		<file name="EasyDaemonAPIU32.dll"/>
		<file name="EasyDaemonAPIU64.dll"/>
		<file name="nvupdtr32.dll"/><file name="nvupdtr64.dll"/><file name="nvupdtrXP32.dll"/><file name="nvupdtrXP64.dll"/></manifest>
	<phases>
		<if filter="minVista">
			<exe phase="startNVTrayIconVer1" name="${{NvTrayExePath}}" when="uninstall" onError="ignore" flags="nowait,disassociate" condition="RestartNVTrayVer1"/>
			<custom phase="waitForNVTrayShutdown" action="WaitForNVTrayShutdown" when="uninstall" onError="ignore" condition="RestartNVTrayVer1" progress="20" autoTick="150">
				<properties>
					<string name="NVTrayProcessName" value="${{NVTrayProcessName}}"/>
					<int name="PollIncrementsMs" value="100"/>
					<int name="MaxTimeOutMs" value="3000"/>
				</properties>
			</custom>
			<exe phase="stopNVTrayIconVer1" name="${{SystemDirectory}}\Rundll32.exe" when="uninstall" onError="ignore" flags="disassociate" condition="RestartNVTrayVer1" progress="25" autoTick="200">
				<arg value="${{NvuidllPath}}"/>
				<arg value=",StopNotificationIcon" quote="none"/>
			</exe>
			<exe phase="restartNVTrayIconVer2" name="${{NvTrayExePath}}" when="uninstall" onError="ignore" flags="nowait,disassociate" condition="RestartNVTrayVer2">
				<arg value="-nvupdt"/>
			</exe>
			<custom phase="checkNVTrayRestartMethod" action="CheckNVTrayRestartMethod" when="uninstall">
				<properties>
					<string name="NvuidllPath" value="${{NvuidllPath}}"/>
					<string name="CPLPackageName" value="${{CPLPackageIdentifier}}"/>
					<string name="NvtrayPath" value="${{NvTrayExePath}}"/>
					<string name="MinNvtrayVersionForVer2Restart" value="${{MinNvtrayVersionForVer2Restart}}"/>
				</properties>
			</custom>
		</if>
		<standard phase="createUpdateCommonDirectory" platform="amd64">
			<createDirectory target="${{UpdateCommonPath}}"/>
		</standard>
		<standard phase="createUpdateCommonX86Directory">
			<createDirectory target="${{UpdateCommonX86Path}}"/>
		</standard>
		<standard phase="stopUpdatusService" onError="ignore" when="install">
			<stopService name="${{updatusService}}" timeOut="15000"/>
		</standard>
		<exe phase="resetCOMPermissionInstall" name="${{NVIDIAUpdateCoreX86Path}}\ComUpdatus.exe" when="install" onError="ignore">
			<arg value="/UnregServer"/>
		</exe>
		<standard phase="createUpdateCoreX86Directory">
			<createDirectory target="${{NVIDIAUpdateCoreX86Path}}"/>
		</standard>
		<standard phase="copyBinariesx86" platform="x86">
			<copyFile target="daemonu.exe"/>
			<copyFile target="WLMerger.exe"/>
			<copyFile target="ComUpdatus.exe"/>
			<copyFile target="${{UpdateCommonX86Path}}\EasyDaemonAPIU.dll" source="EasyDaemonAPIU32.dll"/>
		</standard>
		<standard phase="cleanUp64bitSpecificBinaries" platform="amd64" onError="ignore" when="install">
			<deleteFile target="${{UpdateCommonPath}}\EasyDaemonAPIU.dll"/>
		</standard>
		<standard phase="copyAmd64EasyDaemonBinary" platform="amd64">
			<copyFile target="${{UpdateCommonPath}}\EasyDaemonAPIU64.dll" source="EasyDaemonAPIU64.dll"/>
		</standard>
		<if filter="minVista">
			<standard phase="copyx86OnlySpecificBinaries" platform="x86only">
				<copyFile target="${{UpdateCommonPath}}\NvUpdt.dll" source="NvUpdt32.dll"/>
			</standard>
			<standard phase="copyAmd64SpecificBinaries" platform="amd64">
				<copyFile target="${{UpdateCommonPath}}\NvUpdt.dll" source="NvUpdt64.dll"/>
			</standard>
			<else>
				<standard phase="copyx86WinXPOnlySpecificBinaries" platform="x86only">
					<copyFile target="${{UpdateCommonPath}}\NvUpdt.dll" source="NvUpdtXP32.dll"/>
				</standard>
				<standard phase="copyAmd64WinXPSpecificBinaries" platform="amd64">
					<copyFile target="${{UpdateCommonPath}}\NvUpdt.dll" source="NvUpdtXP64.dll"/>
				</standard>
			</else>
		</if>
		<if filter="minVista">
			<standard phase="copy32BitNvUpdtr" platform="x86only" condition="IsInternational">
				<copyFile target="${{UpdateCommonPath}}\NvUpdtr.dll" source="NvUpdtr32.dll"/>
			</standard>
			<standard phase="copy64BitNvUpdtr" platform="amd64" condition="IsInternational">
				<copyFile target="${{UpdateCommonPath}}\NvUpdtr.dll" source="NvUpdtr64.dll"/>
			</standard>
			<else>
				<standard phase="copy32BitWinXPNvUpdtr" platform="x86only" condition="IsInternational">
					<copyFile target="${{UpdateCommonPath}}\NvUpdtr.dll" source="NvUpdtrXP32.dll"/>
				</standard>
				<standard phase="copy64BitWinXPNvUpdtr" platform="amd64" condition="IsInternational">
					<copyFile target="${{UpdateCommonPath}}\NvUpdtr.dll" source="NvUpdtrXP64.dll"/>
				</standard>
			</else>
		</if>
		<standard phase="cleanUpApplicationKeys" when="uninstall" onError="ignore">
			<deleteRegistryKeyTree keyName="${{NvidiaSoftwareKey}}\Global\NvUpdatus"/>
			<deleteRegistryKey keyName="${{NvidiaSoftwareKey}}\Global"/>
			<deleteRegistryKeyTree keyName="${{NvidiaSoftwareKey}}\NVIDIA Update Core"/>
			<deleteRegistryKey keyName="${{NvidiaSoftwareKey}}"/>
		</standard>
		<standard phase="deleteGlobalUpdatusKeyRedirected" when="uninstall" platform="x86">
			<deleteRegistryKeyTree keyName="${{NvidiaSoftwareKey}}\Global\NvUpdatus"/>
			<deleteRegistryKey keyName="${{NvidiaSoftwareKey}}\Global"/>
			<deleteRegistryKey keyName="${{NvidiaSoftwareKey}}"/>
		</standard>
		<if filter="XP">
			<exe phase="startXPNVTrayIcon" name="${{SystemDirectory}}\Rundll32.exe" when="uninstall" onError="ignore" flags="disassociate" condition="NvUpdtDllFound" progress="25" autoTick="200">
				<arg value="${{NvUpdtPath}}"/>
				<arg value=",NvRestartTrayIcon" quote="none"/>
			</exe>
			<custom phase="allowProcessesBreakawayFromJob" action="AllowProcessesBreakawayFromJob" onError="ignore" condition="NvUpdtDllFound" when="uninstall">
				<properties>
					<string name="JobName" value="ARP Job"/>
				</properties>
			</custom>
			<custom phase="checkForNvUpdtDllPresence" action="CheckForNvUpdtDllPresence" when="uninstall">
				<properties>
					<string name="Path" value="${{NvUpdtPath}}"/>
				</properties>
			</custom>
		</if>
		<standard phase="addRegKeysForXPOnly" condition="IsOSPreVista">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\Global\MediaCenterTray\0_nvupdt.dll" valueName="FullPath" type="REG_SZ" value="${{UpdateCommonPath}}\NvUpdt.dll"/>
		</standard>
		<standard phase="addRegKeysForVistaPlusOnly" condition="IsOSMinVista">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\NvTray\0_nvupdt.dll" valueName="FullPath" type="REG_SZ" value="${{UpdateCommonPath}}\NvUpdt.dll"/>
		</standard>
		<standard phase="addUpdatusKey">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\NVIDIA Update Core" valueName="" type="REG_SZ" value="${{NVIDIAUpdateCoreX86Path}}"/>
		</standard>
		<exe phase="registerUpdateExecutable" name="${{NVIDIAUpdateCoreX86Path}}\ComUpdatus.exe" when="install">
			<arg value="/RegServer"/>
		</exe>
		<custom phase="deleteUpdateWorkingFolder" action="DeleteUpdateWorkingFolder"/>
		<custom phase="createUpdateUser" action="CreateUpdateUser">
			<properties>
				<string name="UserComment" value="${{comment}}"/>
			</properties>
		</custom>
		<exe phase="setCOMPermission" name="${{NVIDIAUpdateCoreX86Path}}\ComUpdatus.exe" when="install">
			<arg value="/RegUpdatus"/>
		</exe>
		<custom phase="tuneUpdateUser" action="TuneUpdateUser" when="install"/>
		<custom phase="restorePersistentData" action="RestorePersistentData" when="install"/>
		<custom phase="createUpdateService" action="CreateUpdateService" when="install">
			<properties>
				<string name="ServiceName" value="nvUpdatusService"/>
				<string name="ServicePath" value="${{NvidiaProgramFilesX86}}\NVIDIA Update Core\daemonu.exe"/>
				<string name="ServiceDesc" value="NVIDIA Settings Update Manager service, used to check new updates from NVIDIA server."/>
				<string name="ServiceTitle" value="NVIDIA Update Service Daemon"/>
				<bool name="ServiceDelayLoad" value="false"/>
				<bool name="ExtendServiceStartPermissions" value="true"/>
			</properties>
		</custom>
		<custom phase="registerUnderFirewall" action="RegisterUnderFirewall" onError="ignore">
			<properties>
				<string name="AppPath" value="${{NVIDIAUpdateCoreX86Path}}\daemonu.exe"/>
				<string name="AppName" value="Daemonu.exe"/>
			</properties>
		</custom>
		<exe phase="resetCOMPermission" name="${{NVIDIAUpdateCoreX86Path}}\ComUpdatus.exe" when="uninstall">
			<arg value="/UnregServer"/>
		</exe>
		<standard phase="deleteUpdateService" when="uninstall">
			<deleteService name="nvUpdatusService"/>
		</standard>
	</phases>
	<include name="${{InstallerDllDirectory}}\GFExperienceProgressText.cfg" select="/nvi/*"/>
</nvi>
