The syntax you have in the RegistryValue/@Value
looks like NAnt or something. It isn't clear what interprets that but the Windows Installer will not. You have a couple options to get that registry value correct. First, change the RegistryValue
element to look like:
<RegistryValue Root="HKLM"
Key="SOFTWARE\MyApp ID\MyApp ID Windows Client"
Name="Path"
Type="string"
Value="[MyAppBaseFolder]MyApp"
KeyPath="yes" />
Alternatively, you could define "MyApp" in your Directory tree and reference it directly. That'd look a little like adding the following as a child of MyAppBaseFolder
(peer of INSTALLFOLDER
):
<Directory Id='MyAppFolder' Name='MyApp' />
Then updating your RegistryValue
element to look like:
<RegistryValue Root="HKLM"
Key="SOFTWARE\MyApp ID\MyApp ID Windows Client"
Name="Path"
Type="string"
Value="[MyAppFolder]"
KeyPath="yes" />
I prefer the latter but that's just because I prefer using identifiers without concatenating strings.