According to MS the target for custom action type 1 is as follows:

 

Target

 

The DLL is called through the entry point named in the Target field of
the CustomAction table, passing a single argument that is the handle to
the current install session. The entry point name specified in the table
must match that exported from the DLL. Note that if the entry function
is not specified by a .DEF file or by a /EXPORT: linker specification,
the name may have a leading underscore and a "@4" suffix. The called
function must specify the __stdcall calling convention.

 

So, I would say that you need to put the name of the function in the DLL
to run. This is really for C/C++ dlls. Not sure if you can use this for
a .Net DLL... but you can try it.

 

Here is a list of custom action types and what the target is supposed to
contain.

 

http://msdn.microsoft.com/en-us/library/aa372048(VS.85).aspx

 

BOb

 

 

________________________________

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, October 07, 2008 2:18 PM
To: nant-users@lists.sourceforge.net;
[EMAIL PROTECTED]
Subject: [NAnt-users] msi custom actions

 

Hey all,

 

I have a .net class library that I am trying to configure as a custom
action in my build script.

The classlibrary contains one InstallerClass that is declared like:

 

Imports System.ComponentModel

Imports System.Configuration.Install

 

<RunInstaller(True)> Public Class Installer1

    Inherits System.Configuration.Install.Installer

 

Public Overrides Sub Install(ByVal savedState As IDictionary)

 

End Sub

 

End Class

 

In my build script I am configuring the custom action like:

 

            <binaries>

                        <binary name=" Installer1CustomActionBinary"
value="${references.dir}\Installer1.dll" />

            </binaries> 

 

            <customactions>

                        <customaction action=" Installer1CustomAction"
type="1" source=" Installer1CustomActionBinary"
target="**************************" />

            </customactions>

 

            <sequences>

                        <sequence type="installexecute"
action="Installer1CustomAction" value="6510" condition="NOT Installed"
/>

            </sequences>

 

Where you read ************************* is exactly where I am not sure
what information to use.

What is the meaning of entry point for a net assembly?

Is it the namespace of the assembly, class name, method name, etc?

I have been trying several different values but the installer always
displays the error message:

 

Action 15:02:20: Installer1CustomAction. 

Action start 15:02:20: Installer1CustomAction.

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 Installer1CustomAction,
entry: ******************, library: C:\WINDOWS\Installer\MSI7B2.tmp 

MSI (s) (04:60) [15:02:22:177]: Product: -- 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 Installer1CustomAction, entry:
**********************, library: C:\WINDOWS\Installer\MSI7B2.tmp 

Action ended 15:02:22: SetupFrameworkPactualCustomAction. Return value
3.

Action ended 15:02:22: INSTALL. Return value 3.

 

Could you guys, please, provide me help on this issue.

 

Thanks in advance.

 

Regards,
Fabricio Santana

-------------------------------------------------------------------------
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=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to