Hi guys,
I am at my wit's end with an application called Confirm which uses .NET Framework 4.
When I try and launch a form which uses a Powerbuilder component the packaged version crashes on the capture machine (screenshot attached).
Event Viewer shows the following error:
Activation context generation failed for "C:\Users\jm8jadmin\AppData\Roaming\Thinstall\Confirm\SKEL\1424-1.manifest". Dependent Assembly MapInfo.Confirm.Forms.Com,language="*",processorArchitecture="X86",publicKeyToken="d2de60116a00bbf7",type="win32",version="12.0.6.50583" could not be found. Please use sxstrace.exe for detailed diagnosis.
If I manually copy this DLL to the SKEL folder of the sandbox the error in Event Log goes away, but the crash still occurs, which tells me it might be a red herring.
I have spent quite a lot of time comparing Process Monitor logs from the working local installation, and the packaged version, but nothing obvious is showing.
I have attached the Log Monitor log. There are a number of 'Potential Errors', but I can't for the life of me figure out which one is causing it.
Does anyone have any ideas?
Thanks,
Johnny
Sehr geehrte Damen und Herren!
Ich bin vom 10.3 bis 17.3 nicht verfügbar.
Während dieser Zeit werden E-Mails an mich nicht bearbeitet.
Bei dringenden technischen Fragen wenden Sie sich bitte in dieser Zeit an Herrn Brunner (hannes.brunner@aqipa.com).
Mit freundlichen Grüßen David Rupprechter
What is your captured OS and ThinApp version?
It's 4.7.3.
I tried ProcessExternalNameBehaviour=Original just in case that was causing it, but to no avail.
Captured OS please.
Sorry - Windows 7 32 bit, or XP SP3.
I have tried with .NET inside the package and without.
If you are trying on Win XP, execute the below command after installing .NET (before installing appliacation).
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems"
If you are capturing on Win 7, you may skip .NET as .NET is preinstalled. You may enable the below line in the package.ini
LoadDotNetFromSystem=Win7
Thanks, but I have already tried with ngen and without.
Another thing I noticed is in the Process Monitor logs the ThinApp version looks to be trying to create files in the %TEMP% folder (I think related to Powerbuilder), but this doesn't appear when the working locally installed version is used to execute the same steps. Creating this folder in the ThinApp with attributes set to WriteCopy or Merged doesn't seem to help though.
I have attached the Process Monitor log showing just the steps that fail, first for the ThinApp version, then for the working native install.
Have you tried not to bundle .NET framework (capturing on Win 7) and enabling the below line in package.ini?
LoadDotNetFromSystem=Win7
Yes I have tried this setting too unfortunately.
Here is a copy of the Potential Errors section of the Log Monitor log, suspended until just before running the function that causes the crash.
Near the top is:
066335 00000204 000006d0 PBVM120.dll :10c3c3aa<-PBVM120.dll :10b96350 fnTriggerEvent (== no prototype available ==) *** GetLastError() returns 87=0x57 [0]: The parameter is incorrect.
Then a bit further down are a bunch of failed attempts to access files in %TEMP%.
I would say disregard the .png files at the end, as these are not found in the working native install either.
Cheers
I also noticed:
174437 0000 06d0 *** Exception EXCEPTION_ACCESS_VIOLATION on read of 0x0 (VirtualBlock 0x0-0x10000 Type=unknown Protection=PAGE_NOACCESS ) from C:\Program Files\Southbank Systems\Confirm\PBVM120.dll:0x10b2655b
Is the application available for public download?
Can you try LoadDotNetGACFromSystem=Win7 along with LoadDotNetFromSystem=Win7
I tried again with the above but no luck I'm afraid.
We have decided to put this application on the master image for this desktop pool.
Thanks for your help.
