Hi,
I'm using the C# custome action template in VS to create my first custom
action, but it failed.
Here is my code:
In Product.wxs
<Binary Id="CustomActions.dll"
SourceFile="$(var.CustomActions.TargetDir)$(var.CustomActions.TargetName).CA.dll"
/>
<CustomAction Id="CustomAction1" BinaryKey="CustomActions.dll"
DllEntry="CustomAction1" Execute="immediate" />
<InstallExecuteSequence>
<Custom Action='CustomAction1' After='InstallFinalize'>NOT
Installed</Custom>
</InstallExecuteSequence>
In CustomActions project, CustomAction.cs,
namespace CustomActions
{
public class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Log("Begin CustomAction1");
session.Log(session.GetProductProperty("AGENT_SERVER"));
return ActionResult.Success;
}
}
}
And here is the log:
Action ended 3:50:57: InstallFinalize. Return value 1.
Action 3:50:57: CustomAction1.
Action start 3:50:57: CustomAction1.
SFXCA: Extracting custom action to temporary directory:
C:\Users\elfexu\AppData\Local\Temp\MSICE39.tmp-\
SFXCA: Binding to CLR version v2.0.50727
Calling custom action CustomActions!CustomActions.CustomActions.CustomAction1
Begin CustomAction1
Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the
target of an invocation. --->
Microsoft.Deployment.WindowsInstaller.InvalidHandleException: The handle is
invalid.
at Microsoft.Deployment.WindowsInstaller.Session.GetProductProperty(String
property)
at CustomActions.CustomActions.CustomAction1(Session session)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object
arguments, SignatureStruct& sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object
arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle
typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean
skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object parameters, CultureInfo culture)
at
Microsoft.Deployment.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32
sessionHandle, String entryPoint, IntPtr remotingDelegatePtr)
CustomAction CustomAction1 returned actual error code 1603 (note this may not
be 100% accurate if translation happened inside sandbox)
Action ended 3:51:55: CustomAction1. Return value 3.
Action ended 3:51:55: INSTALL. Return value 3.
Any idea about the failure?
Thanks,
-Elfe
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users