The WIXPDB files only contain the files if they were built using "bound" or
"binary" WIXOUT/WIXLIB files (which you can get using light's (or lit's) -bf
command-line argument). Files that light incorporates directly into an MSI
are never "bound" to the WIXPDB.

Alternately you can write a BinderFileManager (which you place into a
WixExtension you pass to light) where you override the one of the
ResolveFile() methods (use the easiest one that works for your setup).

Blair

-----Original Message-----
From: Elfe Xu [mailto:elf...@microsoft.com] 
Sent: Monday, May 09, 2011 2:25 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] error PYRO0001: Could not find file ?

Hi all,
I'm following the example
http://wix.sourceforge.net/manual-wix3/wix_patching.htm to create a patch.
Everything works fine on test binaries built on my local computer.
However, I got "error PYRO0001: Could not find file" when I changed to use
released msi file built by team's build machine.

In the patch.proj, I have
<OldVersionPath>\\rel\Archive\Product\DailyBuilds.1.0.1381.0.110412-2317\Rel
ease\Bin\en-us</OldVersionPath>
<NewVersionPath>\\rel\Archive\Product\DailyBuilds.1.0.1383.0.110427-1815\Rel
ease\Bin\en-us</NewVersionPath<file:///\\rel\Archive\Product\DailyBuilds.1.0
.1383.0.110427-1815\Release\Bin\en-us%3c\NewVersionPath>>

<Exec Command="$(WixToolPath)candle.exe -wx -arch x64 -o
$(ObjDir)\Bin\x64\Patch.wixobj  Patch.wxs" />
<Exec Command="$(WixToolPath)light.exe -o
$(ObjDir)\Bin\en-us\Patch_x64.wixmsp -cultures:en-us -loc Strings_en_US.wxl
$(ObjDir)\Bin\x64\Patch.wixobj "  />
<Exec Command="$(WixToolPath)torch.exe -p -xi
$(OldVersionPath)\Setup_x64.wixpdb $(NewVersionPath)\Setup_x64.wixpdb -o
$(ObjDir)\Bin\en-us\diff_x64.wixmst" />
<Exec Command="$(WixToolPath)pyro.exe -wx
$(ObjDir)\Bin\en-us\Patch_x64.wixmsp -o $(OutputPath)\en-us\Patch_x64.msp -t
RTM $(ObjDir)\Bin\en-us\diff_x64.wixmst  -sa -sf -sh" />


The build reports error
pyro.exe : error PYRO0001: Could not find file
'C:\Product\161\Atlanta\DailyBui
lds\Sources.binaries.Release\bin\ClientShared.dll'.
  Exception Type: System.IO.FileNotFoundException
  Stack Trace:
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.IO.FileInfo.get_Length()
     at
Microsoft.Tools.WindowsInstallerXml.BinderFileManager.CompareFiles(Stri
  ng targetFile, String updatedFile)
     at Microsoft.Tools.WindowsInstallerXml.Binder.CopyTransformData(Output
out
  put, FileRowCollection allFileRows)
     at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output
output,
  String databaseFile)
     at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output,
String f
  ile)
     at Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args)

Seems it is looking for some files on the build machine
('C:\Product\161\Atlanta\DailyBuilds\...), but every time we finish the
build, we copy the outputs to share folders like
\\rel\archive\<file:///\\rel\archive\>....
Isn't the old and new MSIs/wixpdbs contains all the binaries required? Why
it still requires the files on build machine? How could I make it look for
another folder (the shared folder) instead?

Thanks,
-Elfe

----------------------------------------------------------------------------
--
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to