As Raymond Chen would say, there're historical reasons. MsiExt started as an internal project at AppSecInc. We needed custom actions and extensions that were not in Wix. We're a database security company, we have access to places that don't exist and know about security vulnerabilities in databases that holds your credit cards (scary). As you can imagine, contributing to an open source project was on the other end of legally acceptable. It took me 2 years to get through a process that changed that. We had to ship software in the meantime.
Now, since you ask, I would think twice before contributing to Wix. Recent e-mails on the list about code that doesn't build is a good demonstration why. But first a disclaimer: I am wix's biggest fan. I've seen it grow from within MSFT (CoreXT rings a bell?). But ... - Wix doesn't really develop outside of Redmond. - You aren't setup as an open source project that welcomes contributions: you don't commit code directly to a public source control and you use SourceForge and CVS (paper and scissors). - The implementation of custom actions is scary (or was scary at the time of the looking). - The infrastructure is C-like. - Virtually no tests. Refactoring that is a major undertaking and we had lots of C++ code with 100% test coverage already to start with. Next, our biggest objective was to do ODBC extensions for Oracle. Wix database stuff would need to be thrown away to do this. (It's funny cause we still didn't implement it). I hope MsiExt helps someone. You should also feel free to take anything out of there and integrate it to wix if you like. You could probably convince me to contribute to that or a similar effort. cheers dB. dB. @ dblock.org Moscow|Geneva|Seattle|New York -----Original Message----- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Monday, April 26, 2010 10:36 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] C++ Custom Action Dll not running on Windows Server 2008 R2 dB, I think it's great that you have done so much work but why build up a completely independent framework and unit test infrastructure from the WiX toolset? Wouldn't it be more productive to have all of this stuff work together? On Mon, Apr 26, 2010 at 4:29 AM, dB. <dbl...@dblock.org> wrote: > Slightly related to this, if you're writing custom actions in numbers, > check out http://msiext.codeplex.com. We got a whole C++ framework for > CAs, lots of utility code and unit test infrastructure. We love > contributions. > > dB. @ dblock.org > Moscow|Geneva|Seattle|New York > > > > -----Original Message----- > From: Albert At School [mailto:alb...@de-notenbalk.nl] > Sent: Monday, April 26, 2010 4:36 AM > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] C++ Custom Action Dll not running on Windows > Server 2008 R2 > > Hi, > > I think it is good practice to use statically linked DLLs for CA DLLs; it > is > not just the MSVCRT that can cause problems. If you use third party, or own > external, components the problem arises as well :) > So therefor we build the CA DLL with everything statically in it with the > least external references like that. > > > Regards, > > Albert van Peppen > Senior System Engineer > Insad Grafisch b.v. > > -----Oorspronkelijk bericht----- > Van: dB. [mailto:dbl...@dblock.org] > Verzonden: zondag 25 april 2010 1:51 > Aan: General discussion for Windows Installer XML toolset. > Onderwerp: Re: [WiX-users] C++ Custom Action Dll not running on Windows > Server 2008 R2 > > Your custom action DLL is dynamically linked and requires the Visual Studio > runtime (if you install it, it works). You need to change how the DLL links > to MSVCRT if you want to redistribute your installer without the Microsoft > Visual C++ 2008 SP1 Redistributable Package. Alternately you may bootstrap > that in your installer and make it a pre-requisite. > > dB. @ dblock.org > Moscow|Geneva|Seattle|New York > > > > -----Original Message----- > From: Sam Domonkos [mailto:s...@pfgltd.com] > Sent: Friday, April 09, 2010 4:10 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] C++ Custom Action Dll not running on Windows > Server > 2008 R2 > > Thanks for the tip on the Dependency Walker tool. Running depends.exe. > > My verbose log states in the relevant lines. > ... > MSI (c) (78:44) [13:18:52:817]: Doing action: PIDKEYValidation > Action 13:18:52: PIDKEYValidation. > Action start 13:18:52: PIDKEYValidation. > MSI (c) (78:D4) [13:18:52:823]: Invoking remote custom action. DLL: > C:\Users\sam\AppData\Local\Temp\MSI9C65.tmp, Entrypoint: PIDKEYValidation > MSI (c) (78:C0) [13:18:52:826]: Cloaking enabled. > MSI (c) (78:C0) [13:18:52:827]: Attempting to enable all disabled > privileges before calling Install on Server > MSI (c) (78:C0) [13:18:52:828]: Connected to service for CA interface. > MSI (c) (78:44) [13:18:52:900]: Note: 1: 1723 2: PIDKEYValidation 3: > PIDKEYValidation 4: C:\Users\sam\AppData\Local\Temp\MSI9C65.tmp > Error 1723. There is a problem with this Windows Installer package. A > DLL required for this install to complete could not be run. Contact your > support personnel or package vendor. Action PIDKEYValidation, entry: > PIDKEYValidation, library: C:\Users\sam\AppData\Local\Temp\MSI9C65.tmp > MSI (c) (78:44) [13:18:55:866]: Product: WITS 3.04 -- Error 1723. There > is a problem with this Windows Installer package. A DLL required for > this install to complete could not be run. Contact your support > personnel or package vendor. Action PIDKEYValidation, entry: > PIDKEYValidation, library: C:\Users\sam\AppData\Local\Temp\MSI9C65.tmp > > Action ended 13:18:55: PIDKEYValidation. Return value 3. > DEBUG: Error 2896: Executing action PIDKEYValidation failed. > The installer has encountered an unexpected error installing this > package. This may indicate a problem with this package. The error code > is 2896. The arguments are: PIDKEYValidation, , > Action ended 13:18:55: WelcomeDlg. Return value 3. > MSI (c) (78:C0) [13:18:55:884]: Doing action: FatalError > Action 13:18:55: FatalError. > ... > I basically am using this demo with an addition of some conditionals to > determine which features are installed by the PIDKEY > http://www.wixwiki.com/index.php?title=Simple_Custom_Action_Dll > > After installing > > > Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) > > < > http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7 > -A40D-3802B2AF5FC2&displaylang=en> > on the Virtual Machine with Windows Server 2008 R2 my Dll ran fine. > > --Sam > > On 4/8/2010 4:10 PM, Bob Arnson wrote: > > On 4/8/2010 1:14 PM, Sam Domonkos wrote: > > > >> I know this is not specifically WiX 3.5, but I have a custom action that > >> will run on XP 32bit, Windows7 32 and 64bit, but will not run on Windows > >> Server 2008 R2. > >> > > Use Dependency Walker to see if the DLL has dependencies you're not > > accounting for. Otherwise, generic advice: use a verbose log to see how > > far your code gets. (You didn't say how it fails so it's difficult to be > > more precise.) > > > > > > > ---------------------------------------------------------------------------- > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ---------------------------------------------------------------------------- > -- > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users