Session.GetProductProperty can only be used on a Session obtained from the Installer.OpenProduct method, which is documented as not able to be used in a custom action (realize that DTF is intended to be used in much more than "just" custom actions).
If you are looking for the AGENT_SERVER property's value in your installation session, use the session["AGENT_SERVER"] syntax instead of the GetProductProperty method. They are NOT equivalent. -----Original Message----- From: Elfe Xu [mailto:elf...@microsoft.com] Sent: Friday, June 11, 2010 1:10 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Custom Action call get InvalidHandleException when use session.GetProductProperty 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(I nt32 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 WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ 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 WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users