Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Custom Action Is not called !


3 replies to this topic

matrot

matrot
  • Full Members
  • 32 posts

Posted 01 February 2008 - 16:23

Hi,
I'm facing a strange problem on a customer computer with the MSI runtime.

Basically, none of my custom actions are called during a setup program (built with Installshield 11.5) !
Of course this is not a custom action condition problem. All custom actions are marked as called in the MSI verbose log :

MSI © (44:A4) [11:48:26:812]: Doing action: LaunchRTELM
Action 11:48:26 : LaunchRTELM.
Début de l'action 11:48:26 : LaunchRTELM.
MSI © (44:D8) [11:48:26:828]: Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MSIA5.tmp, Entrypoint: LaunchRTELM
Fin de l'action 11:48:26 : LaunchRTELM. Valeur renvoyée : 1.

However, with the help of Microsoft Process Monitor, I've been able to verify that the custom action module (a native x86 Windows Installer DLL) is in fact not loaded by the custom action server (msiexec.exe) !

The setup is working fine on other computers. This is the first time I encounter such a behavior after working almost 8 years with this technology.

Is there a special configuration on the MSI engine to produce such a behavior ?

TIA.

Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 02 February 2008 - 12:44

My first suspicion would be dependencies of the DLL, but the log shows that the DLL was extracted from the binary table (as 'MSIA5.tmp'), loaded in the process, its function 'LaunchRTELM' was called and actually returned ERROR_SUCCESS. So something wants to tell the MSI engine that everything's OK.
The one explanation I can think of is some kind of DLL injection in the process, something that monitors a running process and prevents certain stuff to happen. Maybe the event log has some clues.

Try running the setup with antivirus (and similar) programs turned off.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 February 2008 - 16:55

Is your custom action confugured to evaluate the exit code from the DLL?
Is this log generated with verbose settings? I'm missing all the handle creating etc. stuff that ususally happens between start and end of a custom action. Did you comnpare it to the log of a properly working install?
Are all machines using the same version fo the msi engine?

matrot

matrot
  • Full Members
  • 32 posts

Posted 04 February 2008 - 18:16

The answers to all your questions are : yes.
The MSI verbose log looks the same on both machines.

Here is a snpshot of the log produced by Microsoft's "Process Monitor" taken from a computer where the setup is working fine (Showing two custom action calls (bold)). The goal here is only to show how a DLL load appears in this kind of log.

......
46144 15:47:23,6563502 MsiExec.exe 4720 Thread Create SUCCESS Thread ID: 4660
46145 15:47:23,6584999 msiexec.exe 3412 Thread Create SUCCESS Thread ID: 3916
46257 15:47:23,6702507 MSIEXEC.EXE 5520 Thread Create SUCCESS Thread ID: 4288
46363 15:47:23,6748355 MsiExec.exe 4720 Thread Create SUCCESS Thread ID: 5876
46441 15:47:23,6784046 MsiExec.exe 4720 Thread Create SUCCESS Thread ID: 3424
46522 15:47:23,6840730 MsiExec.exe 4720 Thread Create SUCCESS Thread ID: 5980
46553 15:47:23,7585268 MsiExec.exe 4720 Load Image C:\Users\MIKAEL~1.MIC\AppData\Local\Temp\MSI6D17.tmp SUCCESS Image Base: 0x10000000, Image Size: 0x83000
46571 15:47:23,7628582 MsiExec.exe 4720 Load Image C:\Users\MIKAEL~1.MIC\AppData\Local\Temp\MSI6D17.tmp SUCCESS Image Base: 0x10000000, Image Size: 0x83000

46615 15:47:23,7832294 MsiExec.exe 4720 Load Image C:\Windows\System32\ntdsapi.dll SUCCESS Image Base: 0x75f60000, Image Size: 0x18000
46631 15:47:23,7859649 MsiExec.exe 4720 Load Image C:\Windows\System32\dnsapi.dll SUCCESS Image Base: 0x75fc0000, Image Size: 0x2b000
46633 15:47:23,7872704 MsiExec.exe 4720 Load Image C:\Windows\System32\ws2_32.dll SUCCESS Image Base: 0x77d20000, Image Size: 0x2d000
46635 15:47:23,7885233 MsiExec.exe 4720 Load Image C:\Windows\System32\nsi.dll SUCCESS Image Base: 0x77d50000, Image Size: 0x6000
46637 15:47:23,7896290 MsiExec.exe 4720 Load Image C:\Windows\System32\Wldap32.dll SUCCESS Image Base: 0x77520000, Image Size: 0x49000
46653 15:47:23,7935083 MsiExec.exe 4720 Load Image C:\Windows\System32\winspool.drv SUCCESS Image Base: 0x73a50000, Image Size: 0x41000
46933 15:47:23,9218962 MsiExec.exe 4720 Thread Exit SUCCESS User Time: 0.0000000, Kernel Time: 0.0156001
46947 15:47:23,9251990 MSIEXEC.EXE 5520 Thread Exit SUCCESS User Time: 0.0000000, Kernel Time: 0.0000000
46963 15:47:23,9280366 MSIEXEC.EXE 5520 Load Image C:\Windows\System32\msimsg.dll SUCCESS Image Base: 0xc40000, Image Size: 0x2000
46987 15:47:23,9296466 MSIEXEC.EXE 5520 Load Image C:\Windows\System32\msimsg.dll SUCCESS Image Base: 0xc40000, Image Size: 0x2000
47011 15:47:23,9310547 MSIEXEC.EXE 5520 Load Image C:\Windows\System32\msimsg.dll SUCCESS Image Base: 0xc40000, Image Size: 0x2000
49128 15:47:24,0227869 MSIEXEC.EXE 5520 Thread Create SUCCESS Thread ID: 4964
49131 15:47:24,0295983 MsiExec.exe 4720 Thread Create SUCCESS Thread ID: 4180
49158 15:47:24,1096404 MsiExec.exe 4720 Load Image C:\Users\MIKAEL~1.MIC\AppData\Local\Temp\MSI70C0.tmp SUCCESS Image Base: 0x10000000, Image Size: 0x83000
49176 15:47:24,1109179 MsiExec.exe 4720 Load Image C:\Users\MIKAEL~1.MIC\AppData\Local\Temp\MSI70C0.tmp SUCCESS Image Base: 0x10000000, Image Size: 0x83000

49202 15:47:24,1133599 MsiExec.exe 4720 Load Image C:\Windows\System32\ntdsapi.dll SUCCESS Image Base: 0x75f60000, Image Size: 0x18000
49228 15:47:24,1150279 MsiExec.exe 4720 Load Image C:\Windows\System32\dnsapi.dll SUCCESS Image Base: 0x75fc0000, Image Size: 0x2b000
49238 15:47:24,1156721 MsiExec.exe 4720 Load Image C:\Windows\System32\ws2_32.dll SUCCESS Image Base: 0x77d20000, Image Size: 0x2d000
49249 15:47:24,1161918 MsiExec.exe 4720 Load Image C:\Windows\System32\nsi.dll SUCCESS Image Base: 0x77d50000, Image Size: 0x6000
49252 15:47:24,1166587 MsiExec.exe 4720 Load Image C:\Windows\System32\Wldap32.dll SUCCESS Image Base: 0x77520000, Image Size: 0x49000
49304 15:47:24,1223317 MsiExec.exe 4720 Load Image C:\Windows\System32\winspool.drv SUCCESS Image Base: 0x73a50000, Image Size: 0x41000
.........

You could see that the custom action DLL is loaded by the msiexec process.

These lines does not exists in the capture taken from the customer machine. May be there is an antivirus program preventing DLL loading from a temporary folder. We have requested our customer to ask the antivirus maker about that.

Stay tuned.