I know you prefaced your opion with "ideal" but I'll just say where I work finding a developer who will admit knowing anything about COM is getting really difficult. So what I do is approximate the COM as good as I can and go deploy the package. If anyone reports a problem I grab a program call InstallWatch and snapshot/diff the registry after manually invoking RegSvr32 / Regasm and then massage that back into my WXS source. I probably have to do that about 3-6 times per year and it usually ends up working in the end. The most common problem I encounter missing Implemented Catagories from .NET ComVisible classes.
Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me ----- Original Message ---- From: Blair <os...@live.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Wed, October 6, 2010 1:53:41 PM Subject: Re: [WiX-users] heat.exe registry harvesting: ProxyStubClassId It is recommended that COM dlls be harvested on a machine that approximates the target machine as close as possible. Realize that due to the nature of harvesting that there could always be discrepancies and that the only way to "know" you have it right is to have the developer who makes the object write the authoring for it explicitly (write the WiX registration code themselves), since they are the one who (in an ideal world) best knows the registration required for the object to operate. When running arbitrary code (which is what heat does) that code could be reacting to just about anything in determining what it must (or conversely does not need to) write to the registry (or anywhere else, for that matter), which is one part of what makes self registration non-repeatable and unstable. By using heat to harvest registry data, you simply move the self-registration step up from the actual installation to the build[/prep] stage. You don't eliminate the risks caused by it, but you do control for them better (by isolating the most frequent failures related to self-registration). -----Original Message----- From: Jon W [mailto:know...@gmail.com] Sent: Wednesday, October 06, 2010 6:08 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] heat.exe registry harvesting: ProxyStubClassId Yes, heat and tallow ran on win7 x64. Are there any written rules one must follow when trying to gather registry information? Must the machine be 32-bit, etc...? These are 32-bit c++ dlls. Thanks, Jon On Tue, Oct 5, 2010 at 10:10 PM, Blair <os...@live.com> wrote: > You don't say if the XP is 32 or 64 bit. You also didn't mention trying it > on 32-bit Win7. > > I think it is a bitness issue, and the binary you are harvesting may be > written to accommodate it. According to this page > [http://msdn.microsoft.com/en-us/library/ms680091(v=VS.85).aspx] what the > ProxyStubClassId attribute maps into: > HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{IID} > ProxyStubClsid > is used for 16-bit code, and there is no 16-bit code on 64-bit systems. > > -----Original Message----- > > When I use heat.exe v3, or tallow.exe to gather registry information > on XP, I get the following data: > > <Interface Id="{Y2D0778B-AC99-4C58-A5C8-E7724E5316B5}" Name="Hello" > ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" > ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> > > > When I use heat.exe v3, or tallow.exe to gather registry information > on Win7 x64, I get the following data: > > <Interface Id="{Y2D0778B-AC99-4C58-A5C8-E7724E5316B5}" Name="Hello" > ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> > > > Is there a reason for the missing ProxyStubClassId entry on Win7 x64? > > Thank you, > Jon > ---------------------------------------------------------------------------- -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users