Ключи реестра WiX MultiString - PullRequest
2 голосов
/ 27 января 2011

Я попытался добавить ключи реестра для помощника по совместимости в настройку 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 прекрасно работает - он просто не генерирует новые записи реестра.


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

1 Ответ

1 голос
/ 28 января 2011

Насколько я вижу, 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...