Pretty much; COM extracting is a black art. Sometimes it works and sometimes it doesn't. I'll admit it, I'm not a COM god. But I keep a variety of tools at my side ( InstallShield COM extract, Heat Harvesting, OleView, InstallWatch ) and make good use of version control, build automation and lab virtualization along with some good old fashioned sluething until I get it working correctly. Then I leave it the hell alone.
Oh, and keep muttering COM sucks to developers to encourage them to use more managed code. 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: Jon W <know...@gmail.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Wed, October 6, 2010 5:12:51 PM Subject: Re: [WiX-users] heat.exe registry harvesting: ProxyStubClassId So, the answer is good luck using harvesting tools as they may not always work. Not really a confidence booster, but they seem to work for the most part. Thanks, Jon On Wed, Oct 6, 2010 at 1:38 PM, Blair <os...@live.com> wrote: > The aggregate quality of the practitioners of our craft does seem to be > sliding downhill, doesn't it? I've even read that they have even been > dumbing down the educational achievement necessary to get a CompSci degree > this past decade. People in general seem to just want to get their "work > done" and don't want to be bothered with actually learning about how what > they work on actually works (what I call "programming the black box"). > > I've never been a black-box kind-of guy. I have a huge need to know what I'm > doing whenever I embark on a project. While I obviously can't "know-it-all", > I do dive deep (as much as possible) into what I do work with on any kind of > ongoing basis so that I can understand both the limitations and the > possibilities of what can be done. I guess I'm a rare breed these days, > though. > > -----Original Message----- > From: Christopher Painter [mailto:chr...@deploymentengineering.com] > Sent: Wednesday, October 06, 2010 12:14 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] heat.exe registry harvesting: ProxyStubClassId > > 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 > > > ------------------------------------------------------------------------------ > 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