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.

cached helper DLL & unexplained rollback

1 reply to this topic


  • Members
  • 9 posts

Posted 19 February 2003 - 23:08


I'm an expert MSI user who hasn't used InstallShield in years. I'm now trying to co-develop an InstallShield install with another engineer. He is doing all the InstallShield stuff while I am authoring all the custom actions in a VC++ helper DLL.

The first problem:
One of my custom actions seems to be causing a rollback. In the helper DLL code, all paths of execution return ERROR_SUCCESS, so I'm not sure why the install would rollback. In the log file, I see a trace log statement that I put right before the return ERROR_SUCCESS in the helper DLL code, and then immediately after, the log file shows that InstallFinalize returned 3, and then the install rolls back. What could cause this? An exception?

Second problem
The other engineer is now in a bad state, where they can't uninstall without rolling back. To try and fix this, I made a new copy of the helper DLL where the custom action in question does nothing but immediately return ERROR_SUCCESS.

The other engineer added this DLL to the install and ran it. Again, they got a rollback. Looking at the log file, it shows trace statements that are in the old version of the DLL but aren't in the new version. They are running from within the InstallShield IDE.

Because they see the old trace statements, I suspect there is some kind of caching of the MSI file going on.

We looked for a cached copy (in Winnt\Installer, and everywhere else), but can't find any.

Is there something special about the way InstallShield would lead to a cached file?


Any/all help appreciated, thanks


Immediately after this deferred custom action executes, the log file


  • Members
  • 9 posts

Posted 20 February 2003 - 17:49

problem solved.

the DLL had a buffer overflow that was causing the rollback.

the other engineer had his explorer settings such that the msi cached file folder wasn't visible.