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