Just to add my .02 cents.... We do this by hand because of the inconsistencies with HEAT as you mentioned due to missing dlls/dependencies. But the method we use is to install the component, use InstallWatchPro to take a snapshot, run regsvr32, and then analyze the machine. This provides the necessary registry entries. It normally takes one more iteration of that process to get it done but that is the easiest method we have found.
Jon W. McCain | Software Engineer - Install -----Original Message----- From: Christopher Painter [mailto:chr...@iswix.com] Sent: Wednesday, December 14, 2011 8:42 AM To: General discussion for Windows Installer XML toolset.; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to register OLE server? Unless you really understand COM in depth, authoring all the COM elements by hand will be a bear. I'd go with the Heat technique. Personally, I've written a Winform application that monitors a folder and calls heat every time a change in the directory occurs. The result is then thrown into a colorized XML control for easy reading and copy/paste stealing. Now the reason you aren't getting any COM is probably that the DllRegisterServer() function in the DLL is failing. This is frequently due to the DLL having dependencies on other DLL's that are missing when the function is invoked. Use the tool Dependency Walker ( Depends.exe ) to resolve missing DLL's, copy them into the directory and try calling heat again. Once it generates the COM elements it'll be pretty easy to copy and paste it into your solution. You can also compare it against what the developer gave you ( my developer's never give me squat ) to make sure it's correct and for understanding what the XML is supposed to look like. When I'm using WiX, that's how I role. When I'm using InstallShield I just Right Click | Extract COM with the mouse. ---------------------------------------- From: "Alexey Khrulev" <alexe...@gmail.com> Sent: Wednesday, December 14, 2011 7:28 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to register OLE server? Hello, all! Please briefly explain me (or give me a link to documentation) how to register OLE server in WiX? I tried to find this information, but I could not find anything. Our developers provided me a .reg file with data required in registry on target machine: [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}] @="IntelliCAD Drawing" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\AuxUserType] [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\AuxUserType\ 2] @="Drawing" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\AuxUserType\ 3] @="icad" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\DefaultIcon] @="E:\\Work\\INTELL~1.X\\Icad7.1\\Source\\INTELL~1\\make\\VC9\\Std\\Stage\\i cad.exe,0" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\InprocHandle r32] @="ole32.dll" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\Insertable] @="" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\LocalServer3 2] @="E:\\Work\\INTELL~1.X\\Icad7.1\\Source\\INTELL~1\\make\\VC9\\Std\\Stage\\i cad.exe" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\MiscStatus] @="32" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\ProgID] @="Icad.Drawing" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\Verb] [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\Verb\0] @="&Edit,0,2" [HKEY_CLASSES_ROOT\CLSID\{000D0E00-0000-0000-C000-000000000046}\Verb\1] @="&Open,0,2" I suppose it must be written in WiX with tags "TypeLib", "Class", "ProgId", "ProgId". But how to? P.S. I tries to harvest (with "heat.exe") required data from OLE-server executable file (like I do it for COM). But "heat.exe" return file without anything looking like class registration. ---------------------------------------------------------------------------- -- Cloud Computing - Latest Buzzword or a Glimpse of the Future? This paper surveys cloud computing today: What are the benefits? Why are businesses embracing it? What are its payoffs and pitfalls? http://www.accelacomm.com/jaw/sdnl/114/51425149/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Cloud Computing - Latest Buzzword or a Glimpse of the Future? This paper surveys cloud computing today: What are the benefits? Why are businesses embracing it? What are its payoffs and pitfalls? http://www.accelacomm.com/jaw/sdnl/114/51425149/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Cloud Computing - Latest Buzzword or a Glimpse of the Future? This paper surveys cloud computing today: What are the benefits? Why are businesses embracing it? What are its payoffs and pitfalls? http://www.accelacomm.com/jaw/sdnl/114/51425149/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users