Ключи реестра WiX MultiString

Я попытался добавить ключи реестра для помощника по совместимости в настройку wix следующим образом:

<File Id="File1.exe" Name="File1.exe" LongName="File1.exe" Source="..\Binaries\File1.exe" DiskId="1" />
<File Id="File2.exe" Name="File2.exe" LongName="File2.exe" Source="..\Binaries\File2.exe" DiskId="1" />
<File Id="File3.exe" Name="File3.exe" LongName="File3.exe" Source="..\Binaries\File3.exe" DiskId="1" />
<Registry Root="HKLM"
          Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant"
          Name="ExecutablesToExclude"
          Type="multiString"
          Action="append">
    <RegistryValue Action="append" Value="[File1.exe]" />
    <RegistryValue Action="append" Value="[File2.exe]" />
    <RegistryValue Action="append" Value="[File3.exe]" />
</Registry>

Но при установке ключ не генерируется. Я что-то упускаю или делаю что-то не так? Я получил подробности о том, что я делаю из этого вопроса и документации по wix.

Обновление: синтаксис немного отличается, я думаю, потому что вопрос, на который я указал, использует другую версию WiX. Синтаксис, который я использовал, является единственным, который принимает WiX 2, и этот файл wix прекрасно работает - он просто не генерирует новые записи реестра.


Обновление: я неправильно диагностировал проблему; Скрипт wix работал правильно, но поместил значения в Wow6432bit узел реестра, потому что содержащий компонент не имеет атрибута Win64="yes",

1 ответ

Насколько я вижу, элемент RegistryValue в WiX2 не имеет атрибутов. Интересно, как ваш пример компилируется без ошибок...

В любом случае, попробуйте переписать ваш элемент реестра следующим образом:

<Registry Root="HKLM"
          Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant"
          Name="ExecutablesToExclude"
          Type="multiString"
          Action="append">
    <RegistryValue>[File1.exe]</RegistryValue>
    <RegistryValue>[File2.exe]</RegistryValue>
    <RegistryValue>[File3.exe]</RegistryValue>
</Registry>
Другие вопросы по тегам