He escrito un instalador de WiX que funciona perfectamente con Windows XP, pero cuando instalo en una caja de Windows 7 me encuentro en dificultades con las entradas de registro. Necesito agregar una entrada de HKLM así como la entrada de registro para que el programa se muestre en el menú de inicio. Aquí está el código que estoy usando para ambos tipos de entrada:WiX no agregará configuración de registro HKLM durante la instalación de Windows 7
<!-- Create the registry entries for the program -->
<DirectoryRef Id="TARGETDIR">
<Component Id="RegistryEntriesInst" Guid="...">
<RegistryKey Root="HKLM"
Key="Software\$(var.Manufacturer)\$(var.ProductName)"
Action="createAndRemoveOnUninstall">
<RegistryValue
Type="string"
Name="installed"
Value="true"
KeyPath="yes"/>
</RegistryKey>
</Component>
<Component Id="RegistryEntriesVer" Guid="...">
<RegistryKey Root="HKLM"
Key="Software\$(var.Manufacturer)\$(var.ProductName)"
Action="createAndRemoveOnUninstall">
<RegistryValue
Type="string"
Name="version"
Value="$(var.ProductVersion)"
KeyPath="yes"/>
</RegistryKey>
</Component>
</DirectoryRef>
<!-- To add shortcuts to the start menu to run and uninstall the program -->
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="...">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="$(var.ProductName)"
Description="..."
Target="[SERVERLOCATION]$(var.Project.TargetFileName)"
WorkingDirectory="SERVERLOCATION"/>
<Shortcut Id="UninstallProduct"
Name="Uninstall $(var.ProductName)"
Description="..."
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"/>
<RemoveFolder Id="SERVERLOCATION" On="uninstall"/>
<RegistryValue
Root="HKCU"
Key="Software\$(var.Manufacturer)\$(var.ProductName)"
Name="installed"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
</DirectoryRef>
¿Cómo puedo solucionar este problema?
En una nota lateral, los permisos de registro son los mismos en Windows XP y Windows 7 computadoras.
Pude encontrar a dónde iban las entradas del Registro. En realidad, están siendo colocados bajo el Wow6432Node. ¿Hay alguna manera de colocarlo bajo la clave de registro de software normal en lugar de Software \ Wow6432Node? –