[wix-users] using DTF, who to deserialize CustomActionData created with WcaWriteStringToCaData (and related)

Phill Hogland phill.hogland at rimage.com
Tue Apr 26 14:04:03 PDT 2016


Yes I have also tried that in the deferred DTF CA (and I know I should not need both of them):
            System.Diagnostics.Debugger.Launch();
            System.Diagnostics.Debugger.Break();

But your C++ suggestion was a good one because I went back and enabled C++ break in another CA and I have the same behavior with that CA.  The break happens, the debugger attaches but ignores the breakpoints and the code just runs.  I typically debug the Immediate CA on my dev system using Lux, but I had not tried it through the remote debugger.  Since I am getting the same behavior it tells me that there is some issue with the way the remote debugged is(not) setup.  So thanks, I will focus on getting the C++ Immediate CA or breaking into my mba working through the remote debugger before I try the MMsiBreak again.

________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of John Cooper <JoCooper at jackhenry.com>
Sent: Tuesday, April 26, 2016 3:45:02 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] using DTF, who to deserialize CustomActionData created with WcaWriteStringToCaData (and related)

Ah, confused.  Well, if you're running into the clean room issue, then something like:

// Necessary after WiX 3.10.2.  Comment out when inappropriate.
AttachDebugger();

as the first call and a:

[Conditional("DEBUG")]
private static void AttachDebugger()
{
  string noDebug = Environment.GetEnvironmentVariable("NODEBUG");

  if (string.IsNullOrEmpty(noDebug) || !noDebug.Equals("1"))
  {
     Debugger.Launch();
  }

  return;
}

(you can dump the NODEBUG stuff) should work.  I use it on my MBA.

--
John Merryweather Cooper
Senior Software Engineer | Integration Development Group | Enterprise Notification Service
Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |JoCooper at jackhenry.com





-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Tuesday, April 26, 2016 3:33 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] using DTF, who to deserialize CustomActionData created with WcaWriteStringToCaData (and related)

The e-mail below is from an external source.  Please do not open attachments or click links from an unknown or suspicious origin.

I have not had any problem attaching to a C++ CA (although I did not try with this test scenario).  I am having a problem attaching to a DTF C# deferred CA after MMsiBreak has fired and I attached to the indicated process ID.  When the dialog is closed the setup runs to completion but the debugger does not do anything.

________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of John Cooper <JoCooper at jackhenry.com>
Sent: Tuesday, April 26, 2016 3:16:14 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] using DTF, who to deserialize CustomActionData created with WcaWriteStringToCaData (and related)

Don't know about the serialization issue.

But on getting the debugger running in C++, how about?

while (!IsDebuggerPresent()); DebugBreak();

--
John Merryweather Cooper
Senior Software Engineer | Integration Development Group | Enterprise Notification Service Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |JoCooper at jackhenry.com




-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Tuesday, April 26, 2016 12:32 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: [wix-users] using DTF, who to deserialize CustomActionData created with WcaWriteStringToCaData (and related)

The e-mail below is from an external source.  Please do not open attachments or click links from an unknown or suspicious origin.

I have a WixExtension where I created a C++ immediate CA to read my custom table data and schedule my deferred CA.   Because I need to make use of a .Net API, I created my first DTF C# deferred CA (rather than a C++ CA using WcaUtil as I have done in the past).  However all of the DTF examples that I have found deserialize CustomActionData into a Dictionary<string,string> of paired strings keyname1=value1 keyname2=value2


I prefer to use the WcaUtil functions WcaWriteStringToCaData and WcaWriteIntegerToCaData in the immediate CA.  I am looking for advice on how to desterilize this in the C# deferred CA.


On a related issue, while I defined MMsiBreak on the remote VM with VS Remote Debug tools installed, when it prompts at the MMsiBreak point, it always provides a process ID that is related to a process named rundll32.exe, and even after I attach to that process and close the dialog the debugger does not actually attach to the code and hit any of the defined breakpoints.  I have checked to make sure that DEBUG is defined and symbols are available.  In C++ we had to modify our approach to debugging because of the 3.10.2 introduction of the clean room.  Is that the issue that I am hitting here with MMsiBreak and is there any advice on how to attach the debugger.  I also tried to add System.Diagnostics.Debugger.Launch() and System.Diagnostics.Debugger.Break() to the code but they don't seem to have an impact either.


Any advice would be appreciated!

Phill

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies.


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

NOTICE: This electronic mail message and any files transmitted with it are intended
exclusively for the individual or entity to which it is addressed. The message,
together with any attachment, may contain confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or distribution
is strictly prohibited. If you have received this message in error, please
immediately advise the sender by reply email and delete all copies.


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list