2013-05-06 7 views
8

usiłuję zbudować mojego WiX projektu w Visual Studio 2010, ale za każdym razem budować, że pojawić się następujące komunikaty o błędach:WiX nierozwiązane odniesienie do mediów symbolem 1 w fragmencie odcinka

Nierozwiązane odniesienia do symbolu „mediach1 "w punkcie 'fragment:'

Unresolved odniesienia na symbol 'mediach1' w punkcie 'produkt {67DC7AE3-030F-4A24-AC3F-7AE7D0C32D07}'

projekt obejmuje jeden plik oraz jeden Product.wxs generowane przez ciepło wxs someComponent s.wxs (mój fragment). Odwołuję się do komponentów w generowanym przez ciepło pliku wxs w Product.wxs. Odcinki gdzie otrzymuję błędy są następujące:

Product.wxs złożyć

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="DesktopFolder" Name="Desktop"/>   
    <Directory Id="ProgramFilesFolder"> 
     <Directory Id="Aspex" Name="Company"> 
     <Directory Id="INSTALLFOLDER" Name="My App" > 
      <Component Id="appFromSomeComponent"> 
      <File Id="AppFromSomeComponentexe" 
        Name="AppFromSomeComponent.exe" 
        Source="$(var.AppFromSomeComponentBin)\AppFromSomeComponent.exe" /> 
      <RemoveFile Id="PurgeAppFolder" Name="*.*" On="uninstall" /> 
      </Component> 
     </Directory> 
     </Directory> 
    </Directory> 
</Directory> 

<!-- Shortcuts in the start menu--> 
<DirectoryRef Id="ApplicationProgramsFolder2"> 
    <Component Id="StartMenuMyApp"> 
    <Shortcut Id="MyAPP" Directory="ApplicationProgramsFolder2" 
       Name="My App" 
       WorkingDirectory="INSTALLFOLDER" 
       Target="[INSTALLFOLDER]appFromSomeComponent.exe"/> 
    <RemoveFolder Id="ApplicationProgramsFolder2" On="uninstall"/> 
    <RegistryValue Root="HKCU" 
        Key="Software\Microsoft\appFromSomeComponent" 
        Name="installed" 
        Type="integer" 
        Value="1" 
        KeyPath="yes"/> 
    </Component> 

    <Component Id="UninstallStartMenuShortcut"> 
    <Shortcut Id="UninstallProduct" 
     Name="Uninstall My App" 
     Target="[SystemFolder]msiexec.exe" 
     Arguments="/x [ProductCode]" 
     Description="Uninstall My App" /> 
    <RemoveFolder Id="ApplicationProgramsFolder4" On="uninstall"/> 
    <RegistryValue Root="HKCU" 
        Key="Software\Microsoft\MyAppUninstall" 
        Name="installed" 
        Type="integer" 
        Value="1" 
        KeyPath="yes"/> 
    </Component> 
</DirectoryRef> 

someComponents.wxs

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
<Fragment> 
    <DirectoryRef Id="INSTALLFOLDER"> 
     <Component Id="cmpEFCBE60AE731F2F72E1E191A31A5C932" 
        Guid="{41805DA3-9F2A-45D3-82F7-46357FDA91F1}"> 
      <File Id="filE84D9AAD661C2BCD945C740C9DF8F5EE" 
        KeyPath="yes" 
        Source="$(var.AppFromSomeComponentBin)\AppFromSomeComponent.exe" /> 
     </Component> 
     <Component Id="cmpA7CD6B191FCDC253D5418CC203735124" 
        Guid="{1B1B6D45-B2A3-4D1B-AD1C-645D9D8AEE6E}"> 
      <File Id="fil042C8008BCA6DCC4254D61C306D2DA18" 
        KeyPath="yes" 
        Source="$(var.AppFromSomeComponentBin)\AppFromSomeComponent.exe.config" /> 
     </Component> 
     <Component Id="cmp6A4D0A31B68BE7D2215111EE5B24D78A" 
        Guid="{BE1094E1-2658-4FB7-B3BE-172C7D90D2C5}"> 
      <File Id="fil5038053B907D45250FC4F7FB1AE3E3C0" 
        KeyPath="yes" 
        Source="$(var.AppFromSomeComponentBin)\SomeDll.dll" /> 
     </Component> 
    </DirectoryRef> 
</Fragment> 
<Fragment> 
    <ComponentGroup Id="AppFromSomeComponentBin"> 
     <ComponentRef Id="cmpEFCBE60AE731F2F72E1E191A31A5C932" /> 
     <ComponentRef Id="cmpA7CD6B191FCDC253D5418CC203735124" /> 
     <ComponentRef Id="cmp6A4D0A31B68BE7D2215111EE5B24D78A" /> 
    </ComponentGroup> 
</Fragment> 
</Wix> 

Jeśli ktoś może wskazać mi w dobrym kierunku aby rozwiązać ten problem - lub może wskazać coś, czego mi brakuje - byłoby to bardzo cenne! Proszę również dać mi znać, czy potrzebne są dodatkowe informacje, aby pomóc w udzieleniu odpowiedzi na to pytanie, staram się dostarczyć jak najwięcej informacji.

Odpowiedz

11

Komunikat o błędzie próbuje powiedzieć, że brakuje elementu Media z Id='1'. Zwykle znajdziesz element Media pod elementem Product. Trzeba tylko dodać coś takiego:

<Media Id='1' /> 

Następnie można dodać inne atrybuty elementu Media kompresować pliki w szafce. W późniejszych wersjach zestawu narzędzi WiX można użyć elementu MediaTemplate zamiast elementu Media, aby utworzyć wiele szaf, które nie przekraczają określonego rozmiaru. To świetnie, jeśli masz dużo plików.

+0

To było to, dziękuję bardzo! – Jimmy

Powiązane problemy