Hi,

I was away for a week or else I would've replied sooner.  I tested the 
following using version 3.0.5210.0.

This works:

D:\lab\WiX\XMLEditor>heat dir . -v  -sfrag -gg -svb6 -out foo.xml
Microsoft (R) Windows Installer Xml Toolset Harvester version 3.0.5210.0
Copyright (C) Microsoft Corporation. All rights reserved.

Trying to harvest D:\lab\WiX\XMLEditor\PRISMXMLEditor.dll as an assembly.
Trying to harvest self-registration information from native DLL 
D:\lab\WiX\XMLEditor\PRISMXMLEditor.dll.
Ignoring the registry key 
'Interface\{0B7F3153-C8E7-4E6D-AEBE-B6D61D78B9A3}\ProxyStubClsid/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{0B7F3153-C8E7-4E6D-AEBE-B6D61D78B9A3}\ProxyStubClsid32/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 'Interface\{0B7F3153-C8E7-4E6D-AEBE-B6D61D78B9A3}/', 
it has already been added to the component 
'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{1D3D80B3-86A1-4DA7-AF4B-FA12E70BB39F}\ProxyStubClsid/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{1D3D80B3-86A1-4DA7-AF4B-FA12E70BB39F}\ProxyStubClsid32/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 'Interface\{1D3D80B3-86A1-4DA7-AF4B-FA12E70BB39F}/', 
it has already been added to the component 
'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{399DC087-F09A-4DDE-B2A6-A3755D8506B3}\ProxyStubClsid/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{399DC087-F09A-4DDE-B2A6-A3755D8506B3}\ProxyStubClsid32/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 'Interface\{399DC087-F09A-4DDE-B2A6-A3755D8506B3}/', 
it has already been added to the component 
'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{EAC0509C-5990-48B8-81B3-5A2ECE581DB4}\ProxyStubClsid/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 
'Interface\{EAC0509C-5990-48B8-81B3-5A2ECE581DB4}\ProxyStubClsid32/', it has 
already been added to the component 'cmpD86DA220B5DFAFDE5B16661AC4E61230'.
Ignoring the registry key 'Interface\{EAC0509C-5990-48B8-81B3-5A2ECE581DB4}/', 
it has already been added to the component 
'cmpD86DA220B5DFAFDE5B16661AC4E61230'.

This gives an error:

D:\lab\WiX\XMLEditor>heat file PRISMXMLEditor.dll -v  -sfrag -gg -svb6 -out 
foo.xml
Microsoft (R) Windows Installer Xml Toolset Harvester version 3.0.5210.0
Copyright (C) Microsoft Corporation. All rights reserved.

heat.exe : error HEAT0001 : The path is not of a legal form.

Exception Type: System.ArgumentException

Stack Trace:
   at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
   at System.IO.Path.NormalizePath(String path, Boolean fullCheck)
   at System.IO.Path.GetFullPathInternal(String path)
   at System.IO.Path.GetFullPath(String path)
   at Microsoft.Tools.WindowsInstallerXml.HarvesterCore.ResolveFilePath(String 
fileSource)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateFile(IParentElement
 parentElement, File file)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.MutateElement(IParentElement
 parentElement, ISchemaElement element)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilHarvesterMutator.Mutate(Wix 
wix)
   at Microsoft.Tools.WindowsInstallerXml.Mutator.Mutate(Wix wix)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run(String[] args)

I ran it with the full path and got this error which looks like it isn't 
reading the path correctly for the 'file' harvesting type argument.  It's 
doubling the name of the last directory in the path 
(d:\lab\wix\xmleditor\xmleditor\PRISMXMLEditor.dll).

So I typed:   d:\lab\wix\xmleditor\PRISMXMLEditor.dll 
But it reads: d:\lab\wix\xmleditor\xmleditor\PRISMXMLEditor.dll 

So that could be hint in as to why the 'file' harvesting type doesn't work, but 
the 'dir' does.  Let me know if there's anything I can do for you.

D:\lab\WiX\XMLEditor>heat file d:\lab\wix\xmleditor\PRISMXMLEditor.dll -v  
-sfrag -gg -svb6 -out foo.xml
Microsoft (R) Windows Installer Xml Toolset Harvester version 3.0.5210.0
Copyright (C) Microsoft Corporation. All rights reserved.

Trying to harvest d:\lab\wix\xmleditor\xmleditor\PRISMXMLEditor.dll as an 
assembly.
heat.exe : warning HEAT5151 : Could not harvest data from a file that was 
expected to be an assembly: d:\lab\wix\xmleditor\xmleditor\PRISMXMLEditor.dll. 
If this file is not an assembly you c
an ignore this warning. Otherwise, this error detail may be helpful to diagnose 
the failure: Could not load file or assembly 
'file:///d:\lab\wix\xmleditor\xmleditor\PRISMXMLEditor.dll' or on
e of its dependencies. The system cannot find the file specified..
heat.exe : error HEAT0001 : Failed to get short path name

Exception Type: System.Runtime.InteropServices.COMException

Stack Trace:
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.NativeMethods.GetShortPathName(String
 fullPath)
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.MutateFiles()
   at 
Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.Mutate(Wix
 wix)
   at Microsoft.Tools.WindowsInstallerXml.Mutator.Mutate(Wix wix)




Hey Roy,

If you are still able to reproduce this please file a bug in heat and upload
the DLL. I would recommend that the DLL ONLY contain required information to
reproduce the issue IF possible.

Thanks,

Brian


Thanks for the all the help Brian and Neil.  I've submitted the bug:  
https://sourceforge.net/tracker/?func=detail&aid=2726721&group_id=105970&atid=642714
  (heat.exe : error HEAT0001 : Item has already been added.)



-- 
View this message in context: 
http://n2.nabble.com/Heat-missing-some-RegistryValue-elements-%28Programmable%29-from-VB6-code--tp2559361p2633695.html
Sent from the wix-users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to