Bugs item #1561614, was opened at 2006-09-19 10:18
Message generated for change (Comment added) made by pmarcu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1561614&group_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: v3.0
>Status: Pending
>Resolution: Invalid
Priority: 5
Private: No
Submitted By: Ali-Akber Saifee (alisaifee)
Assigned to: pmarcu (pmarcu)
Summary: heating a specific com dll results in a debug assert 

Initial Comment:
Description:
------------
When I heat one of the COM dlls in my installation, I
get a debug Assert prompted (view attached screenshot
ComDllHeat.jpg). 



Additional Information:
-----------------------
1. Furthermore, the wxs source that is outputted - is
definitely incomplete. 

          <Component Id="QuickTimeSource.dll"
Guid="PUT-GUID-HERE">
                    <Class
Id="{083863F1-70DE-11D0-BD40-00A0C911CE86}" />
                    <File Id="QuickTimeSource.dll"
Name="QuickTimeSource.dll" KeyPath="yes"
Source="D:\WORK\cvsroot\Alkaff\DShowModules\Output\InstallerDir\Source
Files\Renderer\QuickTimeSource.dll">
                        <Class
Id="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Context="InprocServer32" Description="QuickTime Source
Filter" ThreadingModel="both" />
                    </File>
                    <ProgId Id="Media Type" />
                    <RegistryValue Root="HKCR"
Key="CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Name="FriendlyName" Value="QuickTime Source Filter"
Type="string" Action="write" />
                    <RegistryValue Root="HKCR"
Key="CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Name="CLSID"
Value="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Type="string" Action="write" />
                    <RegistryValue Root="HKCR"
Key="CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Name="FilterData"
Value="020000000000200001000000000000003070693308000000000000000100000000000000000000003074793300000000380000003800000000000000000000000000000000000000"
Type="binary" Action="write" />
                    <RegistryValue Root="HKCR"
Key="Media Type\Extensions\.3gp" Name="Source Filter"
Value="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Type="string" Action="write" />
                    <RegistryValue Root="HKCR"
Key="Media Type\Extensions\.m4a" Name="Source Filter"
Value="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Type="string" Action="write" />
                    <RegistryValue Root="HKCR"
Key="Media Type\Extensions\.mov" Name="Source Filter"
Value="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Type="string" Action="write" />
                    <RegistryValue Root="HKCR"
Key="Media Type\Extensions\.mp4" Name="Source Filter"
Value="{BF3F7EF3-8527-4145-BE10-63F8C0DE6ABB}"
Type="string" Action="write" />
                </Component>

2. If the dll itself is required for verification of
the problem , I can provide it.

----------------------------------------------------------------------

>Comment By: pmarcu (pmarcu)
Date: 2008-01-30 15:12

Message:
Logged In: YES 
user_id=1612676
Originator: NO

This is a problem with the dll itself. If the reg keys arent written by
self-reg, there isnt much heat can do.

----------------------------------------------------------------------

Comment By: Mike Dimmick (mikedimmick)
Date: 2006-09-21 15:40

Message:
Logged In: YES 
user_id=1040952

I suspect it's the perennial problem suffered by any 
harvester that when heat creates its proxy registry keys, 
they're empty. The DLL's self-register code depends on some 
other registry keys already existing, and falls over if 
they're not present.

The problem occurs because the DLL didn't write the keys, 
not because heat.exe didn't read them. The DLL is producing 
the message box, not heat.exe.

I hate to suggest that the solution would be to clone all 
of the HKEY_LOCAL_MACHINE\SOFTWARE hive under the proxy key 
that heat.exe creates, but nothing else springs to mind.

For the poster of the bug, the solution is to fix your self-
registration code so that it creates every key it 
references, or to author the .wxs manually. Note that 
heat.exe can't capture everything properly - it will never 
be able to tell whether you're creating a REG_MULTI_SZ 
value or appending to an existing one, for example.

----------------------------------------------------------------------

Comment By: Ali-Akber Saifee (alisaifee)
Date: 2006-09-19 10:22

Message:
Logged In: YES 
user_id=1601785

I've added both the generated wxs source & a compressed
archive containing the dll. 

The dll registers fine using "regsvr32" so I suspect theres
some peculiarity in the implementation - but I can't seem to
narrow it down conventionally.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1561614&group_id=105970

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to