Any other ideas why the custom action might only fail when called from a merge module?
Thanks! -Tina On Tue, Oct 14, 2008 at 4:28 PM, Tina Basinger <[EMAIL PROTECTED]>wrote: > All of the code I included is defined in the merge module. Thus, any > modularization should occur across all 3 items (custom action definition, > custom action scheudling in InstallExecuteSequence, and binary definition). > > Looking through Orca at the main install, it seems to be hooked up > correctly. The Binary table has a reference to > BINMAP.DLL.FE2FB413_1E39_4B13_AC8B_A3F8022742C4, and the CustomAction table > has an Action named InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4 > defined with a source of BINMAP.DLL.FE2FB413_1E39_4B13_AC8B_A3F8022742C4 > (which matches the binary name). Then the InstallExecuteSequence table > schedules an Action named > InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4 (which matches the > custom action name). > > -Tina > > On Tue, Oct 14, 2008 at 4:12 PM, Jason Ginchereau < > [EMAIL PROTECTED]> wrote: > >> When you build a merge module, all IDs get modularized (a GUID is >> appended) to avoid naming clashes. So if you have the Binary element defined >> in one module but reference it from another, the modularization won't be >> consistent. If you really want to do that, you'll have to manually append >> the GUID suffix in one place or another. Open the MSI or MSM in Orca to see >> what the modularized IDs look like. >> >> >> -----Original Message----- >> From: Tina Basinger [mailto:[EMAIL PROTECTED] >> Sent: Tuesday, October 14, 2008 11:05 AM >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] Debugging MakeSfxCA >> >> So, this only is a problem for custom actions defined and scheduled by my >> merge module. I have the same custom action assembly with helper assembly >> that is referenced directly by the main install for several custom >> actions, >> and all of those actions work fine. >> >> My merge module has the custom action defined like this. >> >> >> <CustomAction Id="InitInstallDIR" BinaryKey="BINMAP.DLL" DllEntry=" >> InitInstallDIR" /> >> >> <InstallExecuteSequence> >> >> <Custom Action="InitInstallDIR" After="CostFinalize">Not >> Installed</Custom> >> >> </InstallExecuteSequence> >> >> <Binary Id="BINMAP.DLL" SourceFile=" >> $(env.INETROOT)\distrib\$(env.BUILDTYPE)\Install\MyActions.CA.dll" /> >> >> >> Any idea why it works from the main install, but not the merge module? >> >> Thanks! >> -Tina >> On Tue, Oct 14, 2008 at 10:47 AM, Jason Ginchereau >> <[EMAIL PROTECTED]>wrote: >> >> > Make sure you are inserting the correct DLL into the Binary table. That >> DLL >> > should be the output of MakeSfxCA, which is the native SfxCA.dll stub >> with >> > managed assemblies appended as a cab. Verify it has the expected >> entrypoint >> > that MSI is looking for by running "dumpbin.exe /exports YourCA.dll". >> Among >> > other noise you should see the entrypoint that matches what's in the >> Target >> > column of CustomAction table, or in WiX that's that DllEntry attribute >> of >> > the CustomAction element. >> > >> > -----Original Message----- >> > From: Tina Basinger [mailto:[EMAIL PROTECTED] >> > Sent: Tuesday, October 14, 2008 7:34 AM >> > To: General discussion for Windows Installer XML toolset. >> > Subject: Re: [WiX-users] Debugging MakeSfxCA >> > >> > I am packaging the helper assembly with the custom action by passing it >> as >> > the last parameter to MakeSfxCA. >> > >> > The verbose log has the following around the error message. >> > MSI (s) (EC:14) [08:38:00:565]: Doing action: >> > InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4 >> > Action 8:38:00: InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4. >> > Action start 8:38:00: >> InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4. >> > MSI (s) (EC:10) [08:38:00:569]: Invoking remote custom action. DLL: >> > C:\Windows\Installer\MSI2C2A.tmp, Entrypoint: InitInstallDIR >> > MSI (s) (EC:88) [08:38:00:570]: Generating random cookie. >> > MSI (s) (EC:88) [08:38:00:576]: Created Custom Action Server with PID >> 6012 >> > (0x177C). >> > MSI (s) (EC:90) [08:38:00:605]: Running as a service. >> > MSI (s) (EC:90) [08:38:00:606]: Hello, I'm your 32bit Impersonated >> custom >> > action server. >> > MSI (s) (EC:14) [08:38:00:610]: Note: 1: 1723 2: >> > InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4 3: InitInstallDIR 4: >> > C:\Windows\Installer\MSI2C2A.tmp >> > DEBUG: Error 2835: The control ErrorIcon was not found on dialog >> > SetupError >> > Internal Error 2835. ErrorIcon, SetupError >> > 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 >> > InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4, entry: >> InitInstallDIR, >> > library: C:\Windows\Installer\MSI2C2A.tmp >> > MSI (s) (EC:14) [08:38:09:138]: Product: MyProduct -- 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 InitInstallDIR.FE2FB413_1E39_4B13_AC8B_A3F8022742C4, >> entry: >> > InitInstallDIR, library: C:\Windows\Installer\MSI2C2A.tmp >> > >> > On Tue, Oct 14, 2008 at 10:26 AM, Jason Ginchereau >> > <[EMAIL PROTECTED]>wrote: >> > >> > > If you look at the verbose log you can see what custom action it is >> > trying >> > > to run just before that error. And are there any other error messages >> > nearby >> > > in the log? >> > > >> > > Is the helper assembly getting packaged with the custom action by >> > > MakeSfxCA? It should be automatically if there is an assembly >> reference. >> > > That's probably not the issue anyway, since if it was only a managed >> > > dependency problem then the unmanaged stub would start to run, and it >> > would >> > > print a different error message to the log. >> > > >> > > -Jason- >> > > >> > > -----Original Message----- >> > > From: Tina Basinger [mailto:[EMAIL PROTECTED] >> > > Sent: Tuesday, October 14, 2008 7:11 AM >> > > To: General discussion for Windows Installer XML toolset. >> > > Subject: Re: [WiX-users] Debugging MakeSfxCA >> > > >> > > OK, so i've made some head way. I now have 2 custom action >> assemblies >> > > with >> > > 12 and 13 custom actions respectively, and a third "helper" assembly >> with >> > > common code needed for both sets of custom actions. Once I got >> > everything >> > > compiling and rebuilt, I ran my install and got the following errror: >> > > >> > > 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 personal or package vendor. >> > > >> > > Can anyone tell me how I can determine what DLL it is talking about >> > Should >> > > I be able to have a custom action helper assembly? How do I deploy it >> so >> > > that it can be called from the custom actions? >> > > >> > > Thanks! >> > > -Tina >> > > >> > > >> > > On Thu, Oct 9, 2008 at 12:41 PM, Tina Basinger < >> [EMAIL PROTECTED] >> > > >wrote: >> > > >> > > > Okay, i'll proceed with the first option to clean up some of our >> > > existing >> > > > custom actions, and see where that leaves me. >> > > > Thanks! >> > > > -Tina >> > > > >> > > > >> > > > >> > > > On Thu, Oct 9, 2008 at 11:25 AM, Jason Ginchereau < >> > > [EMAIL PROTECTED]>wrote: >> > > > >> > > >> Wow, that's a lot of custom actions. Most setups (should) have just >> a >> > > few >> > > >> if any. The limit of 16 is currently by design, although the tool >> > should >> > > >> definitely handle the overflow more gracefully. I'll fix that. >> > > >> >> > > >> If you have more than 16 custom actions, your options are: >> > > >> >> > > >> 1. Design immediate CAs to iterate over rows in a table or behave >> > > >> differently based on property data instead of the entrypoint name. >> Or >> > > for >> > > >> deferred CAs, schedule them with an immediate CA and pass >> parameters >> > via >> > > >> CustomActionData (a common pattern). >> > > >> >> > > >> 2. Split your custom actions across multiple assemblies, each >> having >> > > less >> > > >> than 16. >> > > >> >> > > >> 3. Edit the headers for the SfxCA stub to reserve more space, and >> > > rebuild >> > > >> it. Additional entrypoint slots will need to be defined in >> > > EntryPoints.def >> > > >> and EntryPoints.h. >> > > >> >> > > >> -Jason- >> > > >> >> > > >> -----Original Message----- >> > > >> From: Tina Basinger [mailto:[EMAIL PROTECTED] >> > > >> Sent: Thursday, October 09, 2008 7:39 AM >> > > >> To: General discussion for Windows Installer XML toolset. >> > > >> Subject: Re: [WiX-users] Debugging MakeSfxCA >> > > >> >> > > >> OK, this seems to be failing on the following line of code, which >> is >> > > line >> > > >> 424 in MakeSfxCA.cs. >> > > >> >> > > >> entryPoints.Keys.CopyTo(slotSort, slotCount - entryPoints.Count); >> > > >> It's failing because slotCount = 16 and entryPoints.Count = 38, so >> > > >> slotCount-entryPoints.Count is negative. Apparenlty sfxCA.dll only >> > has >> > > 16 >> > > >> entry points? What does one do if you have more custom actions >> than >> > > that? >> > > >> >> > > >> Thanks! >> > > >> -Tina >> > > >> >> > > >> On Wed, Oct 8, 2008 at 6:03 PM, Jason Ginchereau < >> > > [EMAIL PROTECTED] >> > > >> >wrote: >> > > >> >> > > >> > There's no way to get a more detailed error printout without >> > modifying >> > > >> the >> > > >> > code of the MakeSfxCA tool. >> > > >> > >> > > >> > The easiest way to diagnose the issue would be to capture the >> > > >> command-line >> > > >> > from your build log and then launch that same command-line in a >> > > >> debugger: >> > > >> > devenv /debugexe MakeSfxCA.exe <parameters> >> > > >> > >> > > >> > If you don't have it already, the source code for MakeSfxCA can >> be >> > > found >> > > >> in >> > > >> > wix3-sources.zip, in the src\dtf\Tools\MakeSfxCA directory. >> > > >> > >> > > >> > Or, if you can send me enough info / files to reproduce the >> error, >> > > I'll >> > > >> > look into it. >> > > >> > >> > > >> > -Jason- >> > > >> > >> > > >> > -----Original Message----- >> > > >> > From: Tina Basinger [mailto:[EMAIL PROTECTED] >> > > >> > Sent: Wednesday, October 08, 2008 2:05 PM >> > > >> > To: Wix Group >> > > >> > Subject: [WiX-users] Debugging MakeSfxCA >> > > >> > >> > > >> > Any tips on figuring out MakeSfxCA errors? I'm getting the >> > following >> > > >> > output >> > > >> > when calling MakeSfxCA.exe from the command line. >> > > >> > >> > > >> > ... >> > > >> > CA_Name=Fully_Qualified_CA_Name >> > > >> > Modifying SfxCA.dll stub >> > > >> > Error: Non-negative number required. >> > > >> > Parameter name: index >> > > >> > >> > > >> >> > > >> ------------------------------------------------------------------------- >> > > >> > This SF.Net email is sponsored by the Moblin Your Move >> Developer's >> > > >> > challenge >> > > >> > Build the coolest Linux based applications with Moblin SDK & win >> > great >> > > >> > prizes >> > > >> > Grand prize is a trip for two to an Open Source event anywhere in >> > the >> > > >> world >> > > >> > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > >> > _______________________________________________ >> > > >> > WiX-users mailing list >> > > >> > WiX-users@lists.sourceforge.net >> > > >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > >> > > >> > >> > > >> > >> > > >> >> > > >> ------------------------------------------------------------------------- >> > > >> > This SF.Net email is sponsored by the Moblin Your Move >> Developer's >> > > >> > challenge >> > > >> > Build the coolest Linux based applications with Moblin SDK & win >> > great >> > > >> > prizes >> > > >> > Grand prize is a trip for two to an Open Source event anywhere in >> > the >> > > >> world >> > > >> > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > >> > _______________________________________________ >> > > >> > WiX-users mailing list >> > > >> > WiX-users@lists.sourceforge.net >> > > >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > >> > > >> >> > > >> ------------------------------------------------------------------------- >> > > >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> > > >> challenge >> > > >> Build the coolest Linux based applications with Moblin SDK & win >> great >> > > >> prizes >> > > >> Grand prize is a trip for two to an Open Source event anywhere in >> the >> > > >> world >> > > >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > >> _______________________________________________ >> > > >> WiX-users mailing list >> > > >> WiX-users@lists.sourceforge.net >> > > >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> >> > > >> >> > > >> >> > > >> ------------------------------------------------------------------------- >> > > >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> > > >> challenge >> > > >> Build the coolest Linux based applications with Moblin SDK & win >> great >> > > >> prizes >> > > >> Grand prize is a trip for two to an Open Source event anywhere in >> the >> > > >> world >> > > >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > >> _______________________________________________ >> > > >> WiX-users mailing list >> > > >> WiX-users@lists.sourceforge.net >> > > >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> >> > > > >> > > > >> > > >> ------------------------------------------------------------------------- >> > > This SF.Net email is sponsored by the Moblin Your Move Developer's >> > > challenge >> > > Build the coolest Linux based applications with Moblin SDK & win great >> > > prizes >> > > Grand prize is a trip for two to an Open Source event anywhere in the >> > world >> > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > _______________________________________________ >> > > WiX-users mailing list >> > > WiX-users@lists.sourceforge.net >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > > >> > > >> ------------------------------------------------------------------------- >> > > This SF.Net email is sponsored by the Moblin Your Move Developer's >> > > challenge >> > > Build the coolest Linux based applications with Moblin SDK & win great >> > > prizes >> > > Grand prize is a trip for two to an Open Source event anywhere in the >> > world >> > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > > _______________________________________________ >> > > WiX-users mailing list >> > > WiX-users@lists.sourceforge.net >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > >> ------------------------------------------------------------------------- >> > This SF.Net email is sponsored by the Moblin Your Move Developer's >> > challenge >> > Build the coolest Linux based applications with Moblin SDK & win great >> > prizes >> > Grand prize is a trip for two to an Open Source event anywhere in the >> world >> > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > _______________________________________________ >> > WiX-users mailing list >> > WiX-users@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > >> > >> > >> ------------------------------------------------------------------------- >> > This SF.Net email is sponsored by the Moblin Your Move Developer's >> > challenge >> > Build the coolest Linux based applications with Moblin SDK & win great >> > prizes >> > Grand prize is a trip for two to an Open Source event anywhere in the >> world >> > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> > _______________________________________________ >> > WiX-users mailing list >> > WiX-users@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users