I have attached a patch to the bug that addresses the issues as follows:
1. IIs.WebSite HarvestWebSite() - added try/catch to handle 2
exceptions when running heat on Vista
2. IIs.WebSite HarvestWebSite() - made website search case
insensitive.
3. HarvestWebDirectory() and HarvestWebVirtualDir() do a case
sensitive search for "Root" in the path. On 2 systems I tried the path
included "ROOT" so I changed this to a case insensitive search.
4. HarvestWebDirProperties() don't try to read properties for
"ROOT/iisadmin" as this is a special folder and
"directoryEntry.Properties.PropertyNames" always throws a COMException
when parsing it.
5. MutatorExtension.cs, GetIdentifier() - tries to read the array
possibleIdentifiers before it is initialised.
I have tested this code on Windows 2003, Vista and XP and it works for
all the cases I tried. Pleas could this be considered for inclusion in a
v3 release.
Thanks
Neil
From: Neil Sleightholm [mailto:[email protected]]
Sent: 02 February 2009 09:14
To: [email protected]
Subject: [WiX-devs] FW: [ wix-Bugs-2555688 ] Heat cannot harvest
websites
Would you reconsider moving this back to 3.0, I have a fix for both of
these and it is fairly minor patch. I will post it later this week after
I have done some more testing.
Neil
Neil Sleightholm
X2 Systems Limited
[email protected]
________________________________
From: SourceForge.net [mailto:[email protected]]
Sent: Mon 02/02/2009 04:23
To: [email protected]
Subject: [ wix-Bugs-2555688 ] Heat cannot harvest websites
Bugs item #2555688, was opened at 2009-02-01 14:46
Message generated for change (Comment added) made by barnson
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=2555688&gro
up_id=105970
Please note that this message will contain a full copy of the comment
thread,
including the initial issue submission, for this request,
not just the latest update.
Category: heat
>Group: v4.0
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Neil Sleightholm (nsleigh)
Assigned to: Nobody/Anonymous (nobody)
Summary: Heat cannot harvest websites
Initial Comment:
The heat website harvester seems to be unable to harvest any websites.
When harvesting the default website on Windows 2003 I get the error:
Command: heat website "Default Web Site" -out test.wxs
heat.exe : error HEAT0001 : Exception from HRESULT: 0x80005008
Exception Type: System.Runtime.InteropServices.COMException
Stack Trace:
at
System.DirectoryServices.Interop.UnsafeNativeMethods.IAdsPropertyList.It
em(Object varIndex)
at
System.DirectoryServices.PropertyCollection.KeysEnumerator.get_Current()
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsWebSiteHarvester.Harve
stWebVirtualDir(DirectoryEntry webVirtualDirEntry, WebSite webSite)
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsWebSiteHarvester.Harve
stWebSite(DirectoryEntry webSiteEntry)
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsWebSiteHarvester.Harve
stWebSite(String name)
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsWebSiteHarvester.Harve
st(String argument)
at Microsoft.Tools.WindowsInstallerXml.Harvester.Harvest(String
argument)
at Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run(String[] args)
I have tried various websites on Windows 2003 and none seem to work.
----------------------------------------------------------------------
>Comment By: Bob Arnson (barnson)
Date: 2009-02-02 04:23
Message:
The IIS harvester is known to be nonfunctional. Without an owner,
there's
nobody to fix it in WiX v3.0. Moving to v4.0.
----------------------------------------------------------------------
Comment By: Neil Sleightholm (nsleigh)
Date: 2009-02-01 17:10
Message:
On a simple website you get this error:
heat.exe : error HEAT0001 : The given key was not present in the
dictionary.
Exception Type: System.Collections.Generic.KeyNotFoundException
Stack Trace:
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at
Microsoft.Tools.WindowsInstallerXml.MutatorExtension.IdentifierGenerator
.GetIdentifier(String
name)
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsHarvesterMutator.Mutat
eWebDirProperties()
at
Microsoft.Tools.WindowsInstallerXml.Extensions.IIsHarvesterMutator.Mutat
e(Wix
wix)
at Microsoft.Tools.WindowsInstallerXml.Mutator.Mutate(Wix wix)
at Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run(String[] args)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=2555688&gro
up_id=105970
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs