Sto lavorando su un programma di installazione WIX 3.6 per un servizio web. Ma ho incontrato un problema quando si tenta di utilizzare un HeatDirectory per raccogliere tutta l'uscita necessaria e non importa quello che cerco io ottenere il seguente errore per ogni file raccolti:WIX 3.6 Installer - Visual Studio 2010 (HeatDirectory)
Il sistema non riesce a trovare il file ' SourceDir \ Some.dll ... '
Gli errori si verificano in WcfService.wxs; la parte strana è che WcfService.wxs viene automaticamente creato dalla sezione heatdirectory nel mio file di progetto (sotto). Come può saltare in aria dicendo che non è possibile trovare questi file .dll se deve sapere dove sono per creare WcfService.wxs in primo luogo? Questi errori si verificano anche quando si scarica e si costruisce un progetto di esempio WIX (così com'è) da una qualsiasi delle esercitazioni che ho letto.
L'obiettivo: Per automatizzare la maggior quantità di inclusione dll possibile (cioè utilizzare la raccolta di gestire progetti di dipendenza, ecc)
Sto correndo Win 7 64 bit e il progetto è .NET 4 .
Product.wxs: file di
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="CompleteInstall" Language="1033" Version="1.0.0.0" Manufacturer="Technologies" UpgradeCode="b2ae6aa5-263f-4f9a-a250-8599a7f2cb03">
<Package InstallerVersion="200" Compressed="yes" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="CommonDir1" Name="Common Directory 1">
<Directory Id="CommonDir2" Name="Common Directory 2">
<Directory Id="INSTALLFOLDER" Name="Install Directory"/>
</Directory>
</Directory>
</Directory>
</Directory>
<Feature Id="ProductFeature" Title="CompleteInstall" Level="1">
<ComponentGroupRef Id="WcfService_Project" />
</Feature>
<Property Id="WIXUI_INSTALLDIR">INSTALLFOLDER</Property>
<UIRef Id="WixUI_InstallDir" />
</Product>
</Wix>
Progetto:
01.235.<Target Name="BeforeBuild">
<MSBuild Projects="%(ProjectReference.FullPath)" Targets="Build" Properties="Configuration=$(Configuration);Platform=x86" Condition="'%(ProjectReference.ContentProject)'=='True'" />
<PropertyGroup>
<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)bin\$(Platform)\$(Configuration)\</LinkerBaseInputPaths>
</PropertyGroup>
<HeatDirectory OutputFile="%(ProjectReference.Filename)-temp.xml"
Directory="%(ProjectReference.RootDir)%(ProjectReference.Directory)bin\$(Platform)\$(Configuration)\"
DirectoryRefId="INSTALLFOLDER"
ComponentGroupName="%(ProjectReference.Filename)_Project"
SuppressCom="true"
SuppressFragments="true"
SuppressRegistry="true"
SuppressRootDirectory="true"
AutoGenerateGuids="false"
GenerateGuidsNow="true"
ToolPath="$(WixToolPath)"
Condition="'%(ProjectReference.ContentProject)'=='True'" />
<XslTransformation XmlInputPaths="%(ProjectReference.Filename)-temp.xml"
XslInputPath="XslTransform.xslt"
OutputPaths="%(ProjectReference.Filename).wxs"
Condition="'%(ProjectReference.ContentProject)'=='True'" />
</Target>
WcfService.wxs:
<?xml version="1.0" encoding="utf-8"?><Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLFOLDER">
<Component Id="cmpE6EBA3D8D6D4DB0C93E73200C78DCC51" Guid="{C88B5CF9-8807-45DF-AA6F-732437B74BB6}">
<File Id="fil0118BBA61671E80581CA9C9AA6DD3E8D" KeyPath="yes" Source="SourceDir\Some.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="WcfService_Project">
<ComponentRef Id="cmpE6EBA3D8D6D4DB0C93E73200C78DCC51" />
</ComponentGroup>
</Fragment>
</Wix>
Puoi pubblicare il file completo wxs? Probabilmente non hai inserito una directory corretta per Some.dll ... – wimh
@Wimmel, ho aggiornato il post originale con le wx complete. Grazie! – alan
@Wimmel, tieni presente che ho dichiarato che lo stesso problema si verificava con progetti di esempio che ho scaricato da più di una fonte. – alan