<?xml version="1.0" encoding="utf-8"?>
<nvi name="NVIDIA.Update" title="${{title}}" version="${{version}}" versionText="${{version}}" timestamp="2011-07-31T10:40:39" disposition="demand" installerMin="2.265.1.0" hidden="true">
	<strings>
		<string name="version" value="1.3.6"/>
		<localized locale="0x0409">
			<string name="title" value="NVIDIA Update Components"/>
			<string name="InstallSafeModeBlockedMessage" value="${{title}} cannot be installed in safe mode."/>
		</localized>
	</strings>
	<description/>
	<constraints>
		<reject tests="SAFEMODE" level="silent" text="${{InstallSafeModeBlockedMessage}}"/>
	</constraints>
	<dependencies>
		<package type="after" package="Display.Driver"/>
		<package type="after" package="Display.ControlPanel"/>
		<package type="requires" package="Display.Driver"/>
	</dependencies>
	<extensions>
		<extension file="UpdateExt.dll"/>
	</extensions>
	<properties>
		<bool name="FixedInstallLocation" value="true"/>
		<string name="InstallLocation" value="${{NvidiaProgramFilesX86}}\NVIDIA Updatus"/>
	</properties>
	<manifest>
		<file name="UpdateCommon.nvi"/>
		<file name="UpdateExt.dll"/>
		<file name="ComUpdatusPS.dll"/>
		<file name="daemonu.exe"/>
		<file name="Nvlhr.exe"/>
		<file name="WLMerger.exe"/>
		<file name="ComUpdatus.exe"/>
		<file name="NvUpdt.dll"/>
		<file name="NvUpdtr*.dll"/>
	</manifest>
	<phases>
		<standard phase="createDirectories">
			<createDirectory target="${{NvidiaProgramFiles}}\NvUpdate"/>
		</standard>
		<standard phase="stopUpdatusService" when="install" onError="ignore">
			<controlService name="nvUpdatusService" command="1"/>
			<waitForService name="nvUpdatusService" state="1" timeOut="15000"/>
		</standard>
		<standard phase="unregisterUpdateComObject" when="install" onError="ignore">
			<unregisterDll target="ComUpdatusPS.dll"/>
		</standard>
		<exe phase="ResetCOMPermissionInstall" name="ComUpdatus.exe" when="install" onError="ignore">
			<arg value="/UnregServer"/>
		</exe>
		<standard phase="createDirectories">
			<createDirectory target="${{NvidiaProgramFilesX86}}\NVIDIA Updatus"/>
		</standard>
		<standard phase="copyBinariesx86" platform="x86">
			<copyFile target="ComUpdatusPS.dll"/>
			<copyFile target="daemonu.exe"/>
			<copyFile target="Nvlhr.exe"/>
			<copyFile target="WLMerger.exe"/>
			<copyFile target="ComUpdatus.exe"/>
			<copyFile target="${{NvidiaProgramFiles}}\NvUpdate\NvUpdt.dll" source="NvUpdt.dll"/>
		</standard>
		<standard phase="copyNvUpdtr" onError="ignore">
			<copyFile target="${{NvidiaProgramFiles}}\NvUpdate\NvUpdtr.dll" source="NvUpdtr.dll"/>
		</standard>
		<standard phase="AddRegKeysForXPOnly" condition="IsOSPreVista">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\Global\MediaCenterTray\0_nvupdt.dll" valueName="FullPath" type="REG_SZ" value="${{NvidiaProgramFiles}}\NvUpdate\NvUpdt.dll"/>
		</standard>
		<standard phase="AddRegKeysForVistaPlusOnly" condition="IsOSMinVista">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\NvTray\0_nvupdt.dll" valueName="FullPath" type="REG_SZ" value="${{NvidiaProgramFiles}}\NvUpdate\NvUpdt.dll"/>
		</standard>
		<standard phase="AddUpdatusKey">
			<addRegistry keyName="${{NvidiaSoftwareKey}}\NVIDIA Updatus" valueName="" type="REG_SZ" value="${{NvidiaProgramFilesX86}}\NVIDIA Updatus"/>
		</standard>
		<standard phase="registerUpdateComObject">
			<registerDll target="ComUpdatusPS.dll"/>
		</standard>
		<exe phase="registerUpdateExecutable" name="ComUpdatus.exe" when="install">
			<arg value="/RegServer"/>
		</exe>
		<custom phase="deleteUpdateWorkingFolder" action="DeleteUpdateWorkingFolder"/>
		<custom phase="createUpdateUser" action="CreateUpdateUser"/>
		<exe phase="setCOMPermission" name="ComUpdatus.exe" when="install">
			<arg value="/RegUpdatus"/>
		</exe>
		<custom phase="tuneUpdateUser" action="TuneUpdateUser" when="install"/>
		<custom phase="createUpdateService" action="CreateUpdateService" when="install">
			<properties>
				<string name="ServiceName" value="nvUpdatusService"/>
				<string name="ServicePath" value="${{NvidiaProgramFilesX86}}\NVIDIA Updatus\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="true"/>
			</properties>
		</custom>
		<custom phase="registerUnderFirewall" action="RegisterUnderFirewall" onError="ignore">
			<properties>
				<string name="AppPath" value="${{NvidiaProgramFilesX86}}\NVIDIA Updatus\daemonu.exe"/>
				<string name="AppName" value="Daemonu.exe"/>
			</properties>
		</custom>
		<exe phase="ResetCOMPermission" name="ComUpdatus.exe" when="uninstall">
			<arg value="/UnregServer"/>
		</exe>
		<standard phase="deleteUpdateService" when="uninstall">
			<deleteRegistryKeyTree keyName="${{NvidiaSoftwareKey}}\Global\NvUpdatus"/>
			<deleteService name="nvUpdatusService"/>
		</standard>
	</phases>
</nvi>
