This is actually the primary reason why I started the thread about WiX and support for installation of Windows instrumentation features. I too use Enterprise Library and have suffered with some of these very issues.
All EL does is install some event sources, performance counters and WMI schema for instrumentation. In order to do this in WiX, it varies from "not too bad" to ????. Event logs are really just a set of registry entries and are pretty straightforward. .NET event sources (for the most part) always use the messages dll that comes with the .NET framework, so you don't even need to install a messages dll. You just need to point to the existing one. The rest of the registry stuff is easy. It is actually easy to do a better job than .NET does at creating event sources this way, especially with .NET 1.1, as you get more control over how they are created and behave. Perf counters are harder. WiX has support for perf counters and has some documentation on how to do them. I think we also determined that .NET perf counters can be installed this way. The problem is that the .NET perf counter install mechanism actually dynamically generates some of the files (the .h and .ini), and there isn't a very straightforward way to harvest those that I know of besides installing with the installer classes once and finding the resulting files. It is a little ugly. I had a suggestion for Derek that it would be cool if Heat could reverse engineer a perf counter installer to make it easier to generate the authoring for this stuff. WMI seems to be a bit of a black hole. I've never bothered to reverse engineer those installer classes to see what they actually do, but it does not seem to be very well understood. One other thing that could be done for EL specifically would be to harvest all of the installer classes from the actual EL source (which they give you) and create your own little assembly that just has the installer stuff in it, but gets installed to the file system instead of the GAC. You'd still be using InstallUtil to install the various components, but you at least wouldn't have the GAC problem. Ideally though, you'd just create the appropriate authoring and do it that way. And BTW, a wixlib or merge module for EL would be a nice contribution to the EL community. I think the EL team at Microsoft actually looked at WiX for a while, as I know Peter Provost was posting here and was asking questions (although that could have been for the Smart Client block instead), but it doesn't look like they ever decided to package things as an MSI for whatever reason. Joe K. -----Original Message----- From: Rob Mensching [mailto: [EMAIL PROTECTED] Sent: Thursday, July 27, 2006 11:01 AM To: John Hidey; wix-users@lists.sourceforge.net; wix-devs@lists.sourceforge.net Subject: RE: [WiX-devs] GAC and call Custom Action Yeah, that scenario just doesn't work right. The problem is that Assemblies going to the GAC aren't committed until the very end of the install. That means your InstallUtil calls (assuming InstallUtil can reach into the GAC, I've never tried) have to come after InstallFinalize. That means that your InstallUtil CustomActions can't be part of the installation transaction so when they fail, the install succeeds but is broken. This is just one more example of why using InstallUtil is a "bad thing". My suggestion (which is rarely popular <smile/>) is to just do the right thing the first time and save yourself the time you'll spend later trying to manage the InstallUtil hack. What is the CustomAction you're trying to do anyway? ---- From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] On Behalf Of John Hidey Sent: Wednesday, July 26, 2006 1:36 PM To: wix-users@lists.sourceforge.net; wix-devs@lists.sourceforge.net Subject: [WiX-devs] GAC and call Custom Action Here is my problem everyone. I have a msi that installs several files into the gac. I DO NOT create a shadow copy of these files on the file system until my property called CREATESHADOW has a value of 1. These assemblies have installers in them that I need to call. (I know managed installers in not recommended but have to get done quickly) When I put my custom action in and call InstallUtilLib the file isn't actually on the file system. Is there a way to have InstallUtilLib refer the file via its temporary location that is used by the installer? Thoughts? Thanks everyone in advance. John -- <csharp>John Hidey</csharp>[EMAIL PROTECTED] -- <csharp>John Hidey</csharp>[EMAIL PROTECTED] ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users