3

When building my WiX project with WiX 3.8 in VS 2013, I get:

heat.exe(0,0): warning HEAT5151: Could not harvest data from a file that was expected to be an assembly: C:\local\eknapp\Workspace-Dispatcher\client\software\DISP.DesktopClient\DISP.DesktopClient\bin\debug\DISP.API.UI.dll. If this file is not an assembly you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: The given assembly name or codebase, 
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll', was invalid.

I checked the GAC, and WindowsBase.dll, version 4.0 is there. I looked inside both assemblies with Telerik's JustDecompile and all appears OK. The application runs without a problem, both within VS and when installed with the (apparently deficient) .msi, on any number of machines.

Any ideas?

Yan Sklyarenko
  • 31,557
  • 24
  • 104
  • 139
MonteChristo
  • 589
  • 6
  • 11
  • I think this is a related thread: http://stackoverflow.com/questions/5343908/how-to-reference-gacd-dll-files-in-wix-setup-project. Basically, it says that you should not reference the DLLs from GAC in your WiX code, either explicitly, or via heat.exe. – Yan Sklyarenko Feb 28 '14 at 07:43

1 Answers1

0

you should not harvest DLL files from the GAC. if you really want to you can use copy local true attribute, however this is a mistake to harvest those.

If i'm not mistaken this DLL file comes with .Net so you might need to install .net for your user with your installer.

read this wix bug http://sourceforge.net/p/wix/bugs/2082/

Gilad
  • 6,437
  • 14
  • 61
  • 119
  • I have .Net 4.5.1. installed on my development machine. I am not explicitly harvesting the WindowsBase assembly. I am harvesting other dlls such as log4net and prism. Is heat looking inside those to find transitive dependencies? – MonteChristo Mar 28 '14 at 15:41
  • The link to bug 2082 did not help either, since I am not using the -pog option. – MonteChristo Mar 28 '14 at 15:45