2013-08-26 3 views
0

Я создаю установщик с помощью wix, и у меня возникают проблемы с записью в реестр. Вот мой элемент RegistryValue:Wix v3.7 - Ошибка записи значений реестра

<Component Id="CMP_odbcreg" Guid="{115B002E-F4C9-48CD-8E1C-E8803B16AE69}"> 
     <RegistryValue Id="rg_psql" 
         Root="HKLM" 
         Key="SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" 
         Name="PostgreSQL" 
         Value="Installed" 
         Type="string" 
         KeyPath="yes" 
         Action="write"/> 
</Component> 

Ничего не записывается в реестр. Этот компонент находится в моей основной функции установки, поэтому он всегда должен записываться в реестр. Я посмотрел на мой лог-файл и нашел это:

MSI (s) (60:1C) [00:00:07:080]: Doing action: WriteRegistryValues 
MSI (s) (60:1C) [00:00:07:080]: Note: 1: 2205 2: 3: ActionText 
Action 0:00:07: WriteRegistryValues. Writing system registry values 
Action start 0:00:07: WriteRegistryValues. 
WriteRegistryValues: Key: Writing system registry values, Name: , Value: 
Action ended 0:00:07: WriteRegistryValues. Return value 1. 

Я не знаю, если я интерпретации этого права, но мне кажется, что ничего не записывается в реестр на всех. У меня есть несколько других компонентов, созданных с использованием тепла, которые содержат элементы RegistryValue, которые должны были быть выполнены в дополнение к CMP_odbcreg. Я проверил свой реестр Windows и подтвердил, что никакие значения не записываются.

У меня есть руководство wix, которое содержит пример записи в реестр. Я попытался скопировать и вставить его в мой установщик и добавить его к основной функции установки. Это не сработало ни

Пожалуйста, помогите!

ответ

0

Так получилось, что я искал неправильный реестр. У машин с Windows 7 есть 32-битный и 64-битный реестр, поэтому я должен был посмотреть на regedit.exe, найденный в Windows \ SysWOW64.

0

С сегодняшнего дня широко распространены 64-разрядные системы. Я рекомендую небольшую лекцию на Registry Redirection, я уверен, что вы найдете информацию полезной для будущего. Это относится к любому приложению, обращающемуся к реестру, а не только к установщику.

В вашем случае, если вам нужно отключить перенаправление для установщика, вы можете посмотреть this SO thread.