Установка определенного значения реестра в Windows 7 с WiX - PullRequest
1 голос
/ 23 февраля 2011

Следующий код работает в Windows 7 x86, но не x64. В чем разница и как мне установить этот ключ? Он также работает, когда я устанавливаю его в Windows XP, изменив функцию установки в Windows XP.

<Component Id="WallpaperPermW7" Guid="{c6427f8f-ce18-4675-9ea4-3292c18c897f}" Feature="W7Feature">
    <RegistryValue Id="WallpaperRegW7" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background" Name="OEMBackground" Value="1" Type="integer" KeyPath="yes">
</Component>

EDIT

Спасибо, Ян, теперь я вижу, как реестр идет в папку WoW ,

Но я хочу, чтобы он устанавливался по одному и тому же пути как для 64, так и для 32-битных систем, если я добавлю атрибут Win64 = "yes", тогда он не будет установлен на 32-битных системах, не так ли?

Есть ли способ обойтись без двух пакетов?

1 Ответ

2 голосов
/ 23 февраля 2011

Я так понимаю, ваш пакет 32-битный, и поэтому в 64-битных системах путь, указанный вами в атрибуте "key" элемента RegistryValue, сопоставлен с другим кустом:

Software\ Wow6432Node \ Microsoft ...

вместо

Программное обеспечение \ Microsoft ...

Вот почему вы не видитезначение на месте, которое вы ожидаете.

Чтобы исправить это, вы должны пометить ваш компонент как 64-битный (Win64 = 'yes'), но это будет означать, что весь пакет равен 64-bit, и в результате вам придется создать пару пакетов, один для 32-битных, другой для 64-битных ... Возможно, вы можете пересмотреть свои требования, чтобы избежать этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...