I am convinced that I either do not understand how a custom action is to be called or the syntax that I am using is wrong. I have read the following
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/custom_action_sources.asp it only references entry points from DLL's using C and C++. Can a custom action be used with C# and the CLR? Should I rewrite my custom action in C or C++? Assuming that I can use a .NET assembly below I have an entry in the binary table that specifies the source of the DLL (basically the assembly). Then in <customactions> I add an entry with ConfigDB as the action which is the class contained in the assembly. The source argument is the name of the binary table element. The target is the name of the method that I want executed for the custom action. In <sequeneces> I specify a type so that it will be executed at install time and a target which is again the name of the class contained in the assembly. Isn't that right? Kevin -----Original Message----- From: Burton, Kevin Sent: Tuesday, September 14, 2004 7:56 PM To: 'James Geurts' Cc: '[EMAIL PROTECTED]' Subject: RE: [NAntC-Dev] Installing .msi package from <msi> could not find DLL. Let me rephrase the question. Does anyone have an example of a custom action that they would not mind "annotating" so I could use it as an example. I need to know the syntax of the <binaries>, <sequence>, and <customaction> tasks so that I know how to specify the location of the assembly when it is being packaged up, how I specify the location of the assembly on the target machine, how I specify the namespace and class that is to be used (is a default constructor assumed?), and finally how I specify the method to be executed along with the arguments. This would be a great help to me if someone already has a custom action that works. Thank you. Kevin -----Original Message----- From: Burton, Kevin Sent: Friday, September 10, 2004 3:35 PM To: 'James Geurts' Cc: [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] Installing .msi package from <msi> could not find DLL. Yes and yes. The custom actions were written in C# so they require the dotnet runtime. I am testing the .msi package on my development machine so I know that dotnet is installed. -----Original Message----- From: James Geurts [mailto:[EMAIL PROTECTED] Sent: Friday, September 10, 2004 3:20 PM To: Burton, Kevin Cc: [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] Installing .msi package from <msi> could not find DLL. Does the custom action require the dotnet runtime? if so, is it installed? > I modified the custom action to put the DLL that houses the custom > action in the [TARGETDIR] but I am still getting the same error. > > Any ideas? > > Kevin > > -----Original Message----- > From: Burton, Kevin > Sent: Tuesday, September 07, 2004 9:16 AM > To: 'James Geurts' > Cc: [EMAIL PROTECTED] > Subject: RE: [NAntC-Dev] Installing .msi package from <msi> could not > find DLL. > > > I have attached the log output. I think the problem DLL is the DLL that > contains my customactions. From the log file: > > Action start 9:00:53: ConfigureDB. > 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 ConfigureDB, entry: > DoSQLUpdate, library: C:\WINNT\Installer\MSI51D2.tmp Action ended > 9:00:55: ConfigureDB. Return value 3. > Action ended 9:00:55: INSTALL. Return value 3. > > But I am not sure how to fix the problem. Here are the applicable lines > in the <msi> task. > > <binaries> > <binary name="PPCINSTALLATION" > value="${build.dir}\InstallSupport\PPCInstallation.DLL" > /> > </binaries> > > <customactions> > <customaction action="ConfigureDB" type="1" > source="PPCINSTALLATION" target="DoSQLUpdate" /> > </customactions> > > <sequences> > <sequence type="installexecute" action="ConfigureDB" > value="750" condition="NOT Installed" /> > </sequences> > > Thanks again. > > Kevin > > -----Original Message----- > From: James Geurts [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 07, 2004 8:05 AM > To: Burton, Kevin > Cc: [EMAIL PROTECTED] > Subject: Re: [NAntC-Dev] Installing .msi package from <msi> could not > find DLL. > > > Sure... use msiexec.exe to log the output. > > >> The one .msi package that I was able to build when I run it I get a >> diallog box: >> >> "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." >> >> Any ideas on how to debug this error? >> >> Thank you. >> >> >> Kevin >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by BEA Weblogic Workshop >> FREE Java Enterprise J2EE developer tools! >> Get your free copy of BEA WebLogic Workshop 8.1 today. >> http://ads.osdn.com/?ad_idP47&alloc_id808&op�k >> _______________________________________________ >> NAntContrib-Developer mailing list >> [EMAIL PROTECTED] >> https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ NAntContrib-Developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer

