2015-11-26 16 views
5

Używam zestawu narzędzi Wix 3.8 i próbuję utworzyć projekt msi. Podczas budowy mam błąd podobny do tego:Dlaczego wystąpił błąd w projekcie wix?

Severity Code Description Project File Line 
Error  '.', hexadecimal value 0x00, is an invalid character. Analyzer light.exe 0 

Czy ktoś miał taki problem? Każda pomoc zostanie doceniona! Jestem początkujący w tej dziedzinie ... Oto kod źródłowy:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 
    <?define ProductName="Traffic_Analyzer" ?> 
    <?define ProductVersion="1.0.0.0" ?> 
    <?define ProductCode="*"?> 
    <?define UpgradeCode="9e36a864-f98e-446a-b2e6-dd77567a4031"?> 
    <?define Manufacturer="Leanenka_Dzianis"?> 
    <?define licenseRtf="C:\Users\DzianisL\Desktop\license.rtf"?> 

    <Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1049" Version="$(var.ProductVersion)" 
      Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> 
    <!--1033 on 1049 - Russian language maintaines--> 
    <Package InstallerVersion="200" Compressed="yes" /> 

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <MediaTemplate /> 

    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFilesFolder"> 
     <Directory Id="INSTALLLOCATION" Name="$(var.ProductName)"> 

      <Component Id="ProductComponent" Guid="*"> 
      <File Id='Sniffer' DiskId='1' Source='C:\Users\DzianisL\Documents\Visual Studio 2015\Projects\Sniffer\Sniffer\bin\Release\Sniffer.exe'/> 
      </Component> 
     </Directory> 
     </Directory> 

     <Directory Id="ProgramMenuFolder"> 
     <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"> 
      <Component Id="ApplicationShortcutSniffer" Guid="4CEBD68F-E933-47f9-B02C-A4FC69FDB551"> 
      <Shortcut Id="ShortcutSniffer" 
       Name="Sniffer" 
       Description="$(var.ProductName)" 
       Target="[INSTALLLOCATION]Sniffer.exe" 
       WorkingDirectory="INSTALLLOCATION"/> 
      <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/> 
      <RegistryValue Root="HKCU" Key="Software\$(var.Manufacturer)\$(var.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/> 
      </Component> 
     </Directory> 
     </Directory> 
    </Directory> 


    <Feature Id="ProductFeature" Title="$(var.ProductName)" Level="1"> 
     <ComponentRef Id="ProductComponent" /> 
     <ComponentRef Id="ApplicationShortcutSniffer" /> 
    </Feature> 
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" ></Property> 
    <WixVariable Id="WixUILicenseRtf" Overridable="yes" Value="$(var.licenseRtf)"/> 
    <UIRef Id="WixUI_InstallDir"/> 




    </Product> 

</Wix> 

Odpowiedz

5

Jest open bug report w trackerze emisyjnej WiX, który wskazuje, że błąd jest związany z pliku RTF kończąc znak null.

chciałbym sprawdzić, czy license.rtf kończy się pustym końcu następnie obciąć ten znak z pliku (lub utworzyć nowy plik RTF bez null)

+0

Dziękuję, ma pan rację! Właśnie otworzyłem licencję w Notatniku i tam znalazłem znak NULL. Po usunięciu wszystko działało! –

+1

@DziLean: Cieszę się, że zadziałało i witam w Stack Overflow. Możesz pomóc innym z tym samym problemem, wykorzystując przydatne odpowiedzi i akceptując odpowiedź, która pomogła ci rozwiązać problem. –

+0

Dzięki za udostępnienie, nigdy nie widziałem tego błędu. FWIW Zawsze zalecam kręcenie maszyną wirtualną Windows XP i używanie wordpad do tworzenia RTF. Powodem tego jest RichText kontrola zawarta w Instalatorze Windows jest bardzo stara i wybredna, więc podejście najmniej wspólnego mianownika pomaga odeprzeć problemy w dół drogi. Prawdopodobnie nigdy nie zostanie zakończony RTF zakończony znakiem null, jeśli to podejście jest przestrzegane. –

Powiązane problemy