🏡 index : quine-global/quintodrome.git

<?xml version='1.0' encoding='windows-1252'?>
<?if $(var.Platform) = x64 ?>
	<?define ProductName = "Navidrome" ?>
	<?define UpgradeCode = "2f154974-1443-41b6-b808-b8be530291b3" ?>
	<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
	<?define Win64 = 'yes' ?>
<?else ?>
	<?define ProductName = "Navidrome (x86)" ?>
	<?define UpgradeCode = "2f0572e4-7e8c-42e7-a186-77f70ec0911a" ?>
	<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
	<?define Win64 = "no" ?>
<?endif ?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
	<?include SettingsDlg.wxs?>
	<?include Navidrome_UI_Flow.wxs?>
	<Product Name="$(var.ProductName)" Id="*" UpgradeCode="$(var.UpgradeCode)" Language='1033' Codepage='1252' Version='$(var.Version)' Manufacturer='Deluan'>
		<UIRef Id="Navidrome_UI_Flow"/>

		<Package Id='*' Keywords='Installer' Description="$(var.ProductName)" Comments='' Manufacturer='Deluan' InstallerVersion='200' Languages='1033' Compressed='yes' SummaryCodepage='1252' InstallScope='perMachine' />

		<MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A newer version of $(var.ProductName) is already installed." />

		<Media Id='1' Cabinet='main.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
		<Property Id='DiskPrompt' Value="Navidrome Install [1]" />
		<Property Id="REBOOT" Value="ReallySuppress" />

		<Property Id="ND_PORT" Value="4533">
			<RegistrySearch Id="ND_PORT" Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_PORT' Type='raw' />
		</Property>
		<Property Id="ND_MUSICFOLDER" Value="C:\Music">
			<RegistrySearch Id="ND_MUSICFOLDER" Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_MUSICFOLDER' Type='raw' />
		</Property>
		<Property Id="ND_DATAFOLDER" Value="C:\ProgramData\Navidrome">
			<RegistrySearch Id="ND_DATAFOLDER" Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_DATAFOLDER' Type='raw' />
		</Property>
		<Property Id="MSI_INSTALLATIONDIRECTORY">
			<RegistrySearch Id="MSI_INSTALLATIONDIRECTORY" Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='MSI_INSTALLATIONDIRECTORY' Type='raw' />
		</Property>

		<CustomAction Id="SetInstallDirProperty" Property="MSI_INSTALLATIONDIRECTORY" Value="[$(var.PlatformProgramFilesFolder)]Navidrome\" />

		<Directory Id='TARGETDIR' Name='SourceDir'>
			<Directory Id="MSI_INSTALLATIONDIRECTORY">
				<Component Id='LICENSEFile' Guid='eb5610a4-e3f3-4f36-ae2c-e96914e460c2' Win64="$(var.Win64)">
					<File Id='LICENSE' Name='LICENSE' DiskId='1' Source='LICENSE' KeyPath='yes' />
				</Component>

				<Component Id='README.mdFile' Guid='d1ee412b-2ebc-4b0b-9fa7-0228ab707686' Win64="$(var.Win64)">
					<File Id='README.md' Name='README.md' DiskId='1' Source='README.md' KeyPath='yes' />
				</Component>

				<Component Id="Configuration" Guid="9e17ed4b-ef13-44bf-a605-ed4132cff7f6" Win64="$(var.Win64)">
					<IniFile Id="ConfigurationPort" Name="navidrome.ini" Action="createLine" Directory="MSI_INSTALLATIONDIRECTORY" Key="Port" Section="default" Value="&apos;[ND_PORT]&apos;" />
					<IniFile Id="ConfigurationMusicDir" Name="navidrome.ini" Action="createLine" Directory="MSI_INSTALLATIONDIRECTORY" Key="MusicFolder" Section="default" Value="&apos;[ND_MUSICFOLDER]&apos;" />
					<IniFile Id="ConfigurationDataDir" Name="navidrome.ini" Action="createLine" Directory="MSI_INSTALLATIONDIRECTORY" Key="DataFolder" Section="default" Value="&apos;[ND_DATAFOLDER]&apos;" />
					<IniFile Id="FFmpegPath" Name="navidrome.ini" Action="createLine" Directory="MSI_INSTALLATIONDIRECTORY" Key="FFmpegPath" Section="default" Value="&apos;[MSI_INSTALLATIONDIRECTORY]ffmpeg.exe&apos;" />

					<RegistryValue Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='MSI_INSTALLATIONDIRECTORY' Value='[MSI_INSTALLATIONDIRECTORY]' Type='string' />
					<RegistryValue Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_PORT' Value='[ND_PORT]' Type='string' />
					<RegistryValue Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_MUSICFOLDER' Value='[ND_MUSICFOLDER]' Type='string' />
					<RegistryValue Root='HKLM' Key='SOFTWARE\Deluan\$(var.ProductName)\Installer' Name='ND_DATAFOLDER' Value='[ND_DATAFOLDER]' Type='string' />
				</Component>

				<Component Id='MainExecutable' Guid='e645aa06-8bbc-40d6-8d3c-73b4f5b76fd7' Win64="$(var.Win64)">
					<File Id='NavidromeExe' Name='Navidrome.exe' DiskId='1' Source='navidrome.exe' KeyPath='yes' />
					<ServiceInstall
						Description='Navidrome is a self-hosted music server and streamer'
						ErrorControl='ignore'
						Name = '$(var.ProductName)'
						Id='NavidromeService'
						Start='auto'
						Type='ownProcess'
						Vital='yes'
						Arguments='service execute --configfile &quot;[MSI_INSTALLATIONDIRECTORY]navidrome.ini&quot; --logfile &quot;[ND_DATAFOLDER]\navidrome.log&quot;'
					/>
					<ServiceControl Id='StartNavidromeService' Start='install' Stop='both' Remove='uninstall' Name='$(var.ProductName)' Wait='yes' />
				</Component>

				<Component Id='FFMpegExecutable' Guid='d17358f7-abdc-4080-acd3-6427903a7dd8' Win64="$(var.Win64)">
					<File Id='ffmpeg.exe' Name='ffmpeg.exe' DiskId='1' Source='ffmpeg.exe' KeyPath='yes' />
				</Component>

				<Component Id='FFProbeExecutable' Guid='f8a3b2c1-5d4e-4f6a-9b8c-7e2d1a0f3c5b' Win64="$(var.Win64)">
					<File Id='ffprobe.exe' Name='ffprobe.exe' DiskId='1' Source='ffprobe.exe' KeyPath='yes' />
				</Component>
			</Directory>

			<Directory Id="ND_DATAFOLDER" name="[ND_DATAFOLDER]">
				<Component Id='PackageFile' Guid='9eec0697-803c-4629-858f-20dc376c960b' Win64="$(var.Win64)">
					<File Id='package' Name='.package' DiskId='1' Source='.package' KeyPath='no' />
				</Component>
			</Directory>
		</Directory>

		<InstallExecuteSequence>
			<Custom Action="SetInstallDirProperty" Before="CostFinalize">NOT MSI_INSTALLATIONDIRECTORY</Custom>
		</InstallExecuteSequence>

		<InstallUISequence>
			<Custom Action="SetInstallDirProperty" Before="CostFinalize">NOT MSI_INSTALLATIONDIRECTORY</Custom>
			<Show Dialog="MyCustomPropertiesDlg" After="WelcomeDlg">Not Installed AND NOT WIX_UPGRADE_DETECTED</Show>
		</InstallUISequence>

		<Feature Id='Complete' Level='1'>
			<ComponentRef Id='LICENSEFile' />
			<ComponentRef Id='README.mdFile' />
			<ComponentRef Id='Configuration'/>
			<ComponentRef Id='MainExecutable' />
			<ComponentRef Id='FFMpegExecutable' />
			<ComponentRef Id='FFProbeExecutable' />
			<ComponentRef Id='PackageFile' />
		</Feature>
	</Product>
</Wix>