Napisałem instalator WiX, który działa doskonale z systemem Windows XP, ale podczas instalacji do systemu Windows 7 mam problem z wpisami rejestru. Należy dodać wpis HKLM, a także wpis rejestru, aby program był wyświetlany w menu Start. Oto kod, którego używam dla obu typów wpisu:WiX nie doda ustawienia rejestru HKLM podczas instalacji systemu 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>
Jak mogę rozwiązać ten problem?
Na marginesie, uprawnienia rejestru są takie same na komputerach z systemem Windows XP i Windows .
Udało mi się znaleźć miejsce, w którym wpisy rejestru się odbywały. W rzeczywistości są one umieszczane pod Wow6432Node. Czy istnieje sposób na umieszczenie go pod zwykłym kluczem rejestru oprogramowania zamiast oprogramowania \ Wow6432Node? –