2012-01-27 3 views
1

Я получаю эту ошибку в WiX, когда я попытался добавить записи реестра:Wix Элемент уже добавлен ключ в словаре

light.exe(0,0): error LGHT0001: Item has already been added. Key in dictionary: 'reg9F526ACB527353E75143C421DB80ABA9' Key being added: 'reg9F526ACB527353E75143C421DB80ABA9' 
     Exception Type: System.ArgumentException 
     Stack Trace: 
      at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) 
      at System.Collections.Hashtable.Add(Object key, Object value) 
      at Microsoft.Tools.WindowsInstallerXml.Binder.SetComponentGuids(Output output) 
      at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, String databaseFile) 
      at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file) 
      at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) 
Done building project "TestReg.wixproj" -- FAILED. 
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ========== 



<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="47e1c2be-1025-4bf3-8f81-9cb0938f8544" Name="TestReg" Language="1033" Version="1.0.0.0" Manufacturer="TestReg" UpgradeCode="f84d7f1a-9349-4ee2-9540-50ea3038358e"> 
     <Package InstallerVersion="200" Compressed="yes" /> 

     <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> 

     <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder"> 
       <Directory Id="INSTALLLOCATION" Name="TestReg"> 
        <Component Id="ProductComponent" Guid="b143b690-8730-4cd4-b26b-e0a61247504b"> 
        </Component> 
       </Directory> 
      </Directory> 
     </Directory> 

     <Feature Id="ProductFeature" Title="TestReg" Level="1"> 

     </Feature> 


     <DirectoryRef Id="INSTALLLOCATION"> 
     <Component Id="RegistryEntry1" Guid="*"> 
      <RegistryKey Root="HKCR" Key="AppID\{2D273A44-7EA1-4A31-9C00-FCC2FD992A10}"> 
      <RegistryValue Type="string" Value=" " /> 
      <RegistryValue Name="LocalService" Value="Service" Type="string" /> 
      </RegistryKey> 
      <RegistryKey Root="HKCR" Key="CLSID\{FCFF4228-81D1-440D-BB70-FDC516204A77}"> 
      <RegistryValue Type="string" Value="" /> 
      <RegistryValue Value=" Class" Type="string" /> 
      </RegistryKey> 
     </Component> 
     </DirectoryRef> 

    </Product> 
</Wix> 

Пожалуйста, помогите. Я новичок в wix. БЛАГОДАРЯ

Все

+1

Получил решение. Я использовал саль для создания записей в реестре из .reg. Теперь я использую код, вставленный в ответы от http://stackoverflow.com/questions/269423/how-to-generate-wix-xml-from-a-reg-file для преобразования, и он работает как шарм, и нет вопросы. Спасибо :) – Mark

+0

Преобразуйте свой комментарий в ответ, чтобы ответить на вопрос. –

ответ

0

Got проблема решена. Я использовал саль для создания записей в реестре из .reg. Теперь я использую код, вставленный в ответы от stackoverflow.com/questions/269423/... для преобразования, и он работает как шарм и никаких проблем.