Как установить WiX RegistryValue относительно пути установки - PullRequest
3 голосов
/ 04 ноября 2011

Это оставляет меня с \ Default.udl

<RegistryKey Key="Software\My Company\Product\Connections" Root="HKCU">
  <RegistryValue Name="Default" Value="[INSTALLLOCATION]\Default.udl" Type="string" />
</RegistryKey>

Я бы хотел что-то вроде C: \ Program Files \ Company \ Product \ Default.udl

Ответы [ 2 ]

6 голосов
/ 04 ноября 2011

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

Вы уверены, что ваш макет каталога правильный? Это должно выглядеть примерно так:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="CompanyFolder" Name="My Company">
      <Directory Id="INSTALLLOCATION" Name="Product">
      </Directory>
    </Directory>
  </Directory>
</Directory>

Я считаю, что куст HKCU предназначен для использования только при индивидуальной установке, но указанный вами путь находится в разделе Program Files. Возможно, вы захотите взглянуть на документацию Контекст установки , чтобы узнать о различиях между установками для отдельных пользователей и компьютеров. В некоторых версиях Windows ProgramFilesFolder имеет другое значение в пользовательском режиме.

Кроме того, если ваш установщик создает файл Default.udl, вы можете использовать синтаксис [#filekey] , чтобы указывать непосредственно на этот файл.

<RegistryValue Name="Default" Value="[#Default.udl]" Type="string" />
0 голосов
/ 04 ноября 2011

Вместо INSTALLLOCATION используйте TARGETDIR

...